一般我們自己寫的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