网站https配置攻略(Nginx篇)
本站采用 Nginx 做为本站的web服务软件,前几天将网站全站开启https了,现在博客全程走https,可以抚慰每个总是担心隐私被人窥窃的强迫症的内心。
本站的配置目标是,无论访问https://wanglu.info 、http://www.wanglu.info 还是 https://www.wanglu.info,全部301跳转到https://wanglu.info
什么是https
HTTPS(全称:Hyper Text Transfer Protocol over Secure Socket Layer),是以安全为目标的HTTP通道,简单讲是HTTP的安全版。即HTTP下加入SSL层,HTTPS的安全基础是SSL,因此加密的详细内容就需要SSL。 它是一个URI scheme(抽象标识符体系),句法类同http:体系。用于安全的HTTP数据传输。https:URL表明它使用了HTTP,但HTTPS存在不同于HTTP的默认端口及一个加密/身份验证层(在HTTP与TCP之间)。这个系统的最初研发由网景公司(Netscape)进行,并内置于其浏览器Netscape Navigator中,提供了身份验证与加密通讯方法。
现在它被广泛用于万维网上安全敏感的通讯,例如网银交易支付方面。现在国内大型网站开启https的有百度和淘宝。
HTTPS和HTTP的区别主要为以下四点:
一、https协议需要到ca申请证书,一般免费证书很少,需要交费。(本站证书使用沃通证书免费版,申请地址:https://buy.wosign.com )
二、http是超文本传输协议,信息是明文传输,https 则是具有安全性的ssl加密传输协议。
三、http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
四、http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
Nginx中安装配置证书
关于Nginx的配置此处不做说明,可以参考本站另一篇博文《CentOS 7下安装LNMP服务器》.
通过上面的地址申请证书并下载后,使用 For Nginx 的配置文件。
server { listen 80; # 通过http协议80端口访问会进入到此段设置处 server_name wanglu.info www.wanglu.info; # 301重定向到https下 rewrite ^/(.*) https://wanglu.info/$1 permanent; } server { listen 443 ssl; ssl_certificate path/to/wanglu.info.crt; # 路径指向申请的证书文件 ssl_certificate_key path/to/wanglu.info.key; # 文件路径请跟据自己实际路径配置 ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; server_name wanglu.info www.wanglu.info; # 如果是通过 www.wanglu.info 访问,也301到 wanglu.info if ($host ~* www.wanglu.info){ rewrite ^/(.*)$ https://wanglu.info/$1 permanent; } # 下面就是Nginx服务器相关的配置,此处就不展示了 }
这样配置后就完成了Nginx服务器下 https 的配置,重启相关服务即可生效
# CentOS 7.x 系列 sudo systemctl restart nginx && sudo systemctl restart php-fpm # CentOS 6.x 系列 sudo service nginx restart && sudo service restart php-fpm
WordPress相关配置
虽然已经可以https了,但为了更加安全可靠,在wp-config.php文件中配置后台和登录强制使用https协议
/* 强制后台和登录使用 SSL */ define('FORCE_SSL_ADMIN', true); define('FORCE_SSL_LOGIN', true);
另外,在WordPress后台的 设置 》常规 里面,将WordPress地址和站点地址一更改为https地址。
当然,如果在导航里面的链接地址是用的绝对地址,就也要将http改为https
除非注明,戊辰人博客文章均为原创,转载请以链接形式标明本文地址