我已经在使用SSL的页面上使用stunnel进行本地Django开发了一段时间,但是自从升级到优胜美地以来,它似乎已经停止工作:

$ sudo stunnel stunnel/dev_https
dyld: Library not loaded: /opt/local/lib/libssl.1.0.0.dylib
  Referenced from: /usr/bin/stunnel
  Reason: image not found


我尝试使用this gist从源代码构建libssl,并将libssl.1.0.0.dylib链接到/opt/local/lib/libssl.1.0.0.dylib。然后失败了,寻找/opt/local/lib/libcrypto.1.0.0.dylib。因此,我将刚构建的版本链接到了预期的路径,并得到了以下信息:

$ sudo stunnel stunnel/dev_https
dyld: Library not loaded: /usr/local/ssl/lib/libcrypto.1.0.0.dylib
  Referenced from: /opt/local/lib/libssl.1.0.0.dylib
  Reason: image not found


这里发生了什么? stunnel位于/usr/bin/stunnel,我已经检查它不是通过自制软件安装的。还有其他人设法解决吗?

最佳答案

我刚刚在优胜美地(Yosemite)上为Django工作的工作人员。如果我没记错的话,我还必须按照this other answer for psycopg2中的说明预先修复我的libssl。

然后,我对所有内容都使用自制程序:

$ brew install stunnel
$ openssl req -new -x509 -days 9999 -nodes -out stunnel.pem -keyout stunnel.pem


我把它放在stunnel.conf(源自here)中:

pid=/tmp/stunnel.pid
setuid=nobody
setgid=nobody
foreground=yes
client=no

[https]
cert = ./stunnel.pem
accept=443
connect=5000


我用stunnel运行:

$ sudo stunnel stunnel.conf


并使用以下命令运行Django:

$ python manage.py runserver 0.0.0.0:5000


希望能有所帮助。

关于django - 升级到优胜美地后,Stunnel不再起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26848895/

10-12 18:16