Nginx下配置网站SSL实现https访问(虚拟主机)
在今年的早些时候百度搜索已经全面实现https模式,并宣称已经可以抓取https网页了,相比谷歌早年就已经支持https的抓取,百度虽然晚了一点,但是毕竟现在还是有了,站长之家上也有人探讨关于https模式对百度谷歌seo的影响,虽然还没有人给出实际测试的数据,但是百度全站https模式的话或多或少也能说明百度当下对https站点的态度吧!
nginx配置SSL简洁版教程:
一、在配置文件中开启ssl 打开www.xxx.com.conf文件,在listen 80 代码段下面加入以下代码: listen 443;(注释:监听443端口) ssl on; (注释:开启ssl) ssl_certificate_key /www/wdlinux/nginx/conf/aitiancheng.key; (注释:SSL证书路径) ssl_certificate /www/wdlinux/nginx/conf/aitiancheng.crt;(注释:SSL证书路径)
二、在防火墙中开启443端口访问
提示:配置时请删除以上注释内容。
然后切入主题讲一讲
Nginx下配置网站ssl实现https模式访问的方法
第一步:服务器环境
lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的vps+免费的Linux服务器管理系统WDCP快速搭建的lnmp环境(同类产品还有amh有免费版以及收费版),具体安装以及使用方法都可以在其官方论坛找到详细的操作文档。
第二步:创建你的网站
使用lnmp环境创建你的网站,已有网站的,确保你的程序在lnmp下能够正常的运行,以wordpress为例,lamp跟lnmp下的伪静态规则是不同的,有过更换的,要记得切换。
第三步:申请免费的ssl证书。 第四步:配置网站ssl,
找到你需要配置ssl的网站的Nginx配置文件,以WDCP为例配置文件在/www/wdlinux/nginx/conf/vhost/目录,将以下代码添加只网站的配置文件server中,同时为了方便管理,需要将你申请的nginx下的ssl证书上传到/www/wdlinux/nginx/conf/目录,不同的管理系统或者是手动配置的lnmp环境这个目录都是不一样的,请根据你的实际情况进行调整。
因为ssl访问的不是传统网站的80端口,而是443端口则需要在配置文件中继续为网站添加443端口,为了方便不知道把以上放在配置文件的什么位置的人,以下将我网站完整的配置文件贴出,可以根据你的实际情况进行修改。ssl on; ssl_certificate_key /www/wdlinux/nginx/conf/aitiancheng.key; ssl_certificate /www/wdlinux/nginx/conf/aitiancheng.crt;
确认以上都修改无误之后,重启nginx基本上这个时候你的网站就能通过ssl访问了,但是还有一些细节问题需要调整,譬如以上网站配置文件是http与https模式并存的,还需要做一个跳转,件http模式的访问全部跳转到https模式。 最后,你需要在wdcp后台将443端口开放。 以上基本完成SSL证书的部署。server { listen 80; listen 443; server_name https://www.aitiancheng.com/; root /www/web/blog/public_html; index index.html index.php index.htm; error_page 400 /errpage/400.html; error_page 403 /errpage/403.html; error_page 404 /errpage/404.html; ssl on; ssl_certificate_key /www/wdlinux/nginx/conf/aitiancheng.key; ssl_certificate /www/wdlinux/nginx/conf/aitiancheng.crt; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; include fcgi.conf; } include rewrite/blog.conf; }