CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问

分类:CentOS教程 阅读:9542 次

SSL(Secure Sockets Layer 安全套接层),及其继任者传输层安全(Transport Layer Security,TLS)是为网络通信提供安全及数据完整性的一种安全协议。TLS与SSL在传输层对网络连接进行加密。

SSL证书一般由 GlobalSign 等 CA 机构颁发,网站在安装 SSL 证书之后可以以“https”的方式访问网页。https 意味着这是一个安全连接。

谷歌为鼓励网站开发者在保护网页信息上付出更多努力,谷歌搜索引擎排名新算法会提升安装了SSL证书(又叫“https证书”)的网页的搜索权重。

这表示在谷歌搜索新算法下,经过“HTTPS”(超文本传输安全协议)处理的网页——为网页增加 SSL 安全证书——的权重会得到提升,而继续采用“HTTP”(超文本传输协议)的网页的权重会相对降低。因此,本文主要记录,Apache和nginx下如何为网站添加ssl证书,以支持https访问。

国内 WoSign 提供数字证书,全中文界面申请,非常友好,审核通过非常快速。推荐!!!!!
申请地址:https://buy.wosign.com/QuickToApplyFreeSSL.html

经过审核后,你的邮箱会收到一封邮件。
CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问

解压缩可以看到服务器软件对应的SSL证书

CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问

上传到对应版本的SSL证书到/usr/local/nginx/conf/ssl 目录下

找到对应的server,修改nginx配置

#基本的SSL配置 server { listen 443 ssl; server_name www.test.com; root /home/wwwroot/test.com; index index.php; ssl_certificate /usr/local/nginx/conf/ssl/www.test.com.crt; ssl_certificate_key /usr/local/nginx/conf/ssl/www.test.com.key; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP; ssl_prefer_server_ciphers on; } #解决http二级域名跳转https,解决http根域名跳转https server { listen 80; server_name test.com; if ($host != 'www.test.com') { rewrite ^/(.*)$ https://www.test.com/$1 permanent; } } server { listen 80; server_name www.test.com; rewrite ^/(.*)$ https://www.test.com/$1 permanent; }

特别注意:
CentOS下在Nginx中添加SSL证书以支持HTTPS协议访问

“本页不但包含安全的内容,也包含不安全的内容” 弹出这个提示是因为网站页面上包含混合内容导致的。也就是说,网站页面上包含 http:// 的资源 也包含 https:// 的资源。通常这种情况是需要在网站页面上做一些调整才能去除提示