python - 通过 HTTPS 服务 Django 站点

标签 python django ssl https

我在 Django 中建立了一个网站,但我想将其“作为 HTTPS”(通过端口 443 加密)提供服务。

我已经有了一个证书,但是我该如何配置 Django 来使用它呢?难道真的是 Django 不支持开箱即用吗?如果支持,我应该如何将站点作为 HTTPS 提供?

服务器是 Ubuntu 14.04

最佳答案

它与 Django 无关,但实际上是受支持的。所以请按照以下步骤操作:

<强>1。获得证书 使用 letsencrypt因为它是免费的!

<强>2。更新存储库和安装工具 在终端中输入此命令:

sudo apt-get update

如果您还没有 git,请通过以下命令安装它:

sudo apt-get install git

<强>3。设置,

  1. 使用 cd 将目录切换到您的 django 项目目录

    cd django_project
    
  2. 运行这些命令:

    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/

相关文章:

使用大数据集调用 cursor.fetchall() 时 python 脚本挂起

javascript - CasperJS/PhantomJS 不加载 https 页面

apache - 重定向 https ://www to https://non-www - without seeing certificate error, 可能吗?

python - 在DataFrame中添加计算字段

python ImageTk.PhotoImage-段错误

django - CBV中的form_valid()不调用is_valid()方法吗?

python - 使用 django 框架在 python 中进行身份验证的 Web 和 native 移动应用程序使用的 RESTFUL Web 服务

javascript - Django - 如何将 "Google Maps Polygon"保存到模型?

c++ - Zaphoyd websocketpp 和 wss (TLS) 客户端示例

python - 多项选择 react python (discord.py)