如何为你的WWW站点启用HTTPS?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何为你的WWW站点启用HTTPS?相关的知识,希望对你有一定的参考价值。

参考技术A

本文环境为Ubuntu LTS 16.04,已经安装配置好了nginx,http可以访问。目标是为该网站启用HTTPS,增强站点安全性。

目前获取安全证书的方案有三:

本文中将采取第三种方式。

Let\'s Encrypt证书机构颁发的免费证书对任何人都是开放的,所以在获取证书的过程中会验证证书申请人是否对网站有控制权,例如,能否在WWW主机上执行获取证书程序。

另外,网站应保持启动,域名有效,80端口可被外界访问。

具体访问步骤如下:

本文忽略了安装前提软件的执行过程,同时因为系统中有多个站点,所以还是希望能够获取到证书后自行配置启用HTTPS。以下主要是命令 sudo certbot --nginx certonly 的日志记录。过程中需要回答一些问题。

根据日志可以看到,证书为/etc/letsencrypt/live/mytest.chinanorth.cloudapp.chinacloudapi.cn/fullchain.pem,
key文件为/etc/letsencrypt/live/mytest.chinanorth.cloudapp.chinacloudapi.cn/privkey.pem,证书过期日期为 2018-11-04 。自动续订的命令为 certbot renew

查看Linux系统还可发现,只有root可以操作/etc/letsencrypt/live目录。

编辑Nginx的配置文件,将证书信息更新到配置之中。

重新访问站点,如下图所示,表明HTTPS启用成功。

用户默认访问HTTP站点,为了让用户访问HTTP时自动跳转到HTTPS,需要编辑Nginx的配置文件,如下:

重新启动Nginx验证

使用certbot可以极大程度简化证书的获取过程,而自动化续订更是极大的方便了系统运维人员,并确保站点始终安全运行。

据调查,29%的TLS应用都使用了有效期为90天的证书,所以Let\'s Encrypt的证书有效期只有90天。有效期为90天和1年对数据加密并无影响,但较短的有效期能够降低证书被盗用的风险,并且有助于推动证书续订自动化。

通过查看证书的详细信息,可以发现免费签发的证书是只验证域名所有权,而不验证所有者和机构的。所以这类证书也叫做DV(Domain Validated)证书。校验所有者的证书叫做OV(Owner Validated)证书。此外,金融类等机构要求超级安全的证书,要求更加严格的身份验证标准,也叫EV(Extend Validated)证书。

如何为 Django 启用 WSGIPassAuthorization?

【中文标题】如何为 Django 启用 WSGIPassAuthorization?【英文标题】:How to enable WSGIPassAuthorization for Django? 【发布时间】:2018-08-26 16:32:11 【问题描述】:

我正在测试我的 Django API 端点,但我需要启用 WSGIPassAuthorization 才能接收到 Authorization 标头。我应该在哪里启用它?

PS:我在 macOS 上,但任何答案都可能有用!

【问题讨论】:

在你的 apache 配置中 但我从未设置任何 apache 配置。它是默认完成的吗?这些配置在哪里编辑? 那么你如何使用mod_wsgi 我没有使用它,但似乎我需要它来激活此选项 是的..我会写一个答案..请接受它 【参考方案1】:

如果您使用的是mod_wsgi,只需安装 apache 并在您的 VirtualHost 中使用它。

然后:WSGIPassAuthorization On

【讨论】:

【参考方案2】:

您必须转到 /etc/apache2/sites-enabled ,您的配置文件位于有 SSL 证书或没有 SSL 证书的位置,并在文件结尾处添加 WSGIPassAuthorization On

【讨论】:

以上是关于如何为你的WWW站点启用HTTPS?的主要内容,如果未能解决你的问题,请参考以下文章

如何为启用 javascript 和非启用 javascript 的站点创建两个平行的站点?

如何为站点网格启用日志

如何为站点系统配置 Windows Server 2008

如何为网站启用HTTPS加密传输协议

如何为自己的WordPress站点安装SSL证书开启https访问

如何为自己的WordPress站点安装SSL证书开启https访问