我已经在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/

10-12 12:51
查看更多