我在 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
(如果您使用其他网络服务器,请尝试阻止它们)
将 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/