我已经在Django中建立了一个网站,但是我想将其“作为HTTPS”(通过端口443加密)提供。
我已经有一个证书,但是如何配置Django以使用它呢?难道真的是Django不支持此功能吗?如果是的话,我应该如何以HTTPS的形式提供网站服务?
服务器是Ubuntu 14.04
最佳答案
它与Django不相关,但实际上得到了支持。因此,请按照以下步骤操作:
1.获得证书
使用letsencrypt是因为它是免费的!
2.更新存储库和安装工具
在终端输入此命令:
sudo apt-get update
如果您还没有git,请通过以下命令进行安装:
sudo apt-get install git
3.设置,
使用
cd
将目录更改为您的django项目目录cd django_project
运行以下命令:
git clone https //github.com/letsencrypt/letsencrypt
然后
cd letsencrypt
./letsencrypt-auto --help
如果您在这里,则意味着一切正常!因此,请继续以下步骤:
service nginx stop
(如果您使用其他Web服务器,请尝试停止它们)
用您的域名替换example.com:
./letsencrypt-auto certonly --standalone -d example.com
sudo nano /etc/nginx/sites-available/django
像这样编辑文件:
server {
#listen 80 default_server;
#listen [::]:80 default_server ipv6only=on;
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
和
server {
listen 80;
server_name example.com;
return 301 https://$host$request_uri;
}
现在,只需重新启动服务器即可。
关于python - 通过HTTPS服务Django站点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37764725/