首页 » 技术文章 » 浏览内容
Centos下Nginx正确开启免费HTTPS访问
最近很多的网站(淘宝、百度、知乎等)都开启了全站HTTPS访问,HTTPS的好处就不多说了,大家可以自己Google一下。为了赶潮流,我也想为自己的网站开启全站HTTPS。
一、申请SSL证书
其实理论上,我们是可以自己生成证书的,但是自己生成的证书不会被认可,在网站被访问的时候会有相应的提示。所以我们必须去申请SSL证书。一般情况下,SSL证书是需要购买的,但是也有免费提供的,比如阿里云、腾讯云、沃通WoSign就提供免费的SSL证书。由于网上有详细的申请指南,我这里就不多说了,大家直接去申请就行了。
二、开启Nginx对SSL的支持
我在配置过程中,发现总是失败,后来查了一下资料,说Nginx必须开启–with-http_ssl_module才可以使用SSL。但是通过apt-get安装的Nginx默认是没有开启–with-http_ssl_module的,于是乎查了一堆网上的资料,发现都说需要重新编译Nginx。我懒得写一堆编译参数,后来发现,apt-get仓库有一个nginx-full,网上说这个Nginx会开启所有的功能。通过apt-get安装,发现果然开启了–with-http_ssl_module。
1 |
sudo apt-get install nginx-full |
三、配置Nginx
在Nginx的配置文件server节点中加入如下代码:
1 2 3 4 5 6 |
server { listen 443; ssl on; ssl_certificate /usr/local/nginx/conf/server.crt; ssl_certificate_key /usr/local/nginx/conf/server_key.key; } |
注意,请替换配置文件中的两个文件路径。重启Nginx之后,网站成功开启HTTPS访问。
四、优化
开启HTTPS访问之后,有时候我们希望HTTP访问的链接都跳转到HTTPS。这就需要在Nginx配置文件中加入如下代码:
评论 共 0 条 (RSS 2.0) 发表 评论