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。sudo apt-get install nginx-full三、配置Nginx在Nginx的配置文件server节点中加入如下代码: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配置文件中加入如下代码:server {
listen 80;
server_name localhost;
rewrite ^(.*)$ https://$host$1 permanent;
location / {
root html;
indexindex.html index.htm;
}
}
页:
[1]