一般我们自己写的django站点都是用的http方式,如果需要用https的话,可以考虑用两种方式来实现,一种是nginx配置https,另外一种则是直接用uwsgi的https配置。
这里讲的是uwsgi的https.
首先生成ssl的key和crt文件
mkdir -p /data/ssl/;cd /data/ssl
openssl genrsa -out foobar.key 2048
openssl req -new -key foobar.key -out foobar.csr
openssl x509 -req -days 365 -in foobar.csr -signkey foobar.key -out foobar.crt
有了这两个文件,在启用uwsgi的时候,加上https的配置:
uwsgi --master --https 0.0.0.0:8443,foobar.crt,foobar.key
如果不是用root用户启用,或者用443端口启用,那么:
uwsgi --shared-socket 0.0.0.0:443 --uid roberto --gid roberto --https =0,foobar.crt,foobar.key
如果是用wsgi.ini来启用wcgi,那么在原先的ini文件的http配置改为:
https=0.0.0.0:8443,/data/ssl/foobar.crt,/data/ssl/foobar.key