最近在弄本身的我的网站,顺便也让网站支持了一波 https
访问。当你在 Chrome 浏览器
访问一些网站时,发现网站在网址左侧都有一个🔐的图标,点击显示当前链接是安全的。转身看看本身的网站,发现一个感叹号,而且友情提示链接不安全,可能会受到攻击。这不能忍!!!nginx
近几年,Google
愈来愈重视 Web 站点的安全性,并一直大力推广网站采用 https
协议,并经过改变 Chrome
用户界面来引导用户,让用户明白采用HTTPS
协议的网站比采用 http
协议的网站更安全可靠,那咱们就响应改变浏览器
我申请的是 腾讯云 上的免费版 DVSSl 证书
,申请审核经过后能够对证书进行下载,有效期是1年。若是本身弄嫌麻烦能够在上面申请(审核通常很快)安全
注意:因为CA机构和证书代理商策略调整,从2018年1月1日起,同一主域最多只能申请20张亚洲诚信品牌免费型DV版SSL证书bash
下载的文件中分别有 Apache
、IIS
、Nginx
和 Tomcat
版本的证书,这里只介绍 Nginx
如何配置session
若是没有安装须要先安装 Nginx
,咱们只需配置 Nginx
,使其支持 https 即443端口的访问网站
编辑 /etc/nginx/nginx.conf
配置文件,固然路径可能不同,只要能编辑到nginx.conf
文件就行spa
nginx.conf
文件中通常默认已经有80端口
的配置:3d
server {
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
...
}
}
复制代码
加上https 443端口
的配置:代理
# Settings for a TLS enabled server.
#
server {
listen 443 ssl http2 default_server;
listen [::]:443 ssl http2 default_server;
server_name _;
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/private/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
...
}
}
复制代码
ssl_certificate
字段是证书路径,ssl_certificate_key
是私钥路径。将咱们以前下载的证书和私钥文件配置到对应路径。code
修改了 nginx.conf
后别忘了从新 reload Nginx
使其生效
$ nginx -s reload
复制代码
将请求地址从 http://xxx 替换为 https://xxx ,若是可正常访问说明配置成功,浏览器请求地址旁边的标识,已经变成了一个🔐的图标
若是发现图标仍是一个感叹号,标记为链接不安全,这是由于网站中存在 http
的资源,只要将全部 http
资源替换就行了