Nginx下配置网站ssl实现https访问
在今年的早些时候百度搜索已经全面实现https模式,并宣称已经可以抓取https网页了,相比谷歌早年就已经支持https的抓取,百度虽然晚了一点,毕竟现在还是有了,也有人探讨关于https模式对百度谷歌seo的影响,虽然还没有人给出实际测试的数据,百度全站https模式的话或多或少也能说明百度当下对https站点的态度吧!然后切入主题讲一讲Nginx下配置网站ssl实现https模式访问的方法。
第一步服务器环境,lnmp即Linux+Nginx+PHP+MySQL,本文中以我的博客为例,使用的是阿里云最低档的vps+免费的Linux服务器管理系统WDCP快速搭建的lnmp环境(同类产品还有amh有免费版以及收费版),具体安装以及使用方法都可以在其官方论坛找到详细的操作文档。
第二步创建你的网站,使用lnmp环境创建你的网站,已有网站的,确保你的程序在lnmp下能够正常的运行,以wordpress为例,lamp跟lnmp下的伪静态规则是不同的,有过更换的,要记得切换。
第三步申请免费的ssl证书,关于ssl证书的申请,之前已经有人给出了详细的教程,具体详情可以百度沃通ssl证书。
第四步配置网站ssl,找到你需要配置ssl的网站的Nginx配置文件,以WDCP为例配置文件在//wdlinux/nginx/conf/vhost/目录,将以下代码添加只网站的配置文件server中,为了方便管理,需要将你申请的nginx下的ssl证书上传到//wdlinux/nginx/conf/目录,不同的管理系统或者是手动配置的lnmp环境这个目录都是不一样的,请根据你的实际情况进行调整。
ssl on;
ssl_certificate_key //wdlinux/nginx/conf/pastdust.key;
ssl_certificate //wdlinux/nginx/conf/pastdust.crt;
因为ssl访问的不是传统网站的80端口,而是443端口则需要在配置文件中继续为网站添加443端口,为了方便不知道把以上放在配置文件的什么位置的人,以下将我网站完整的配置文件贴出,可以根据你的实际情况进行修改。
server {
listen 80;
listen 443;
server_name pastdust. ..;
root //web/pastdust_/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 //wdlinux/nginx/conf/pastdust.key;
ssl_certificate //wdlinux/nginx/conf/pastdust.crt;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
include fcgi.conf;
}
include rewrite/.conf;
}
确认以上都修改无误之后,重启nginx基本上这个时候你的网站就能通过ssl访问了,还有一些细节问题需要调整,譬如以上网站配置文件是http与https模式并存的,还需要做一个跳转,件http模式的访问全部跳转到https模式。
第五步网站强制访问https模式,以wordpress为例,将以下的跳转代码添加到当前网站所有使用的伪静态规则conf文件中,即可实现所有的http访问都跳转到https访问,并且是继承目录的,具体实现方法就是把http模式访问301重定向到https模式。
if ($server_port = 80) {
return 301 https://$server_name$request_uri;
}
if ($scheme = http) {
return 301 https://$server_name$request_uri;
}
error_page 497 https://$server_name$request_uri;
到这个时候,你访问你网站的某些页面的时候,以使用chrome浏览器为例,部分页面https不会显示绿色,显示的是打X或者是黄色,是因为你网站内部譬如css文件,外链图片等使用的依然是http模式,然后就是一步,全站https化。
第六步全站https化,以wordpress为例,是修改网站主题中所有的https链接元素,然后在数据库中批量替换ssl化之前添加的图片附件,Sql命令如下
UPDATE wp_posts SET post_content = replace( post_content, 'http://..','https://..') ;
以上六部即可实现lnmp下网站ssl的配置,并让全站https模式访问,具体的关于https模式访问在百度SEO这一块的表现,需要等待一些时间的数据,因为截至到这篇文章发布位置,我也只是刚刚将博客https化,有需要参考最终实现效果的可以参考我的博客,所有的代码修改都是原版分享没有保留,欢迎大家留言探讨。
原文地址https://.pastdust./nginx-ssl-https/ 欢迎网络推广网站推广转载 但请备注来源
网络推广网站
- 产品推广介绍怎么写 产品推广介绍200字
- 百度推广代理公司 百度推广代理公司怎么赚钱
- app拉新推广平台有哪些 app拉新推广平台渠道
- 互联网推广项目 互联网推广项目论坛
- 抖音怎么推广引流 怎么把抖音流量做上去
- 广告推广免费平台 免费广告推送
- 什么是网店推广 网店推广是什么
- 十大免费网站推广 成免费的crmbsm
- app推广链接 推广链接制作软件
- 114黄页网推广 达州114黄页网是什么
- 40个免费网站推广平台 免费网站推广产品
- 18种最有效推广的方式 18种最有效推广的方式抖音
- 抖音广告怎么投放 抖音广告怎么投放电话
- 广告推广 精准引流 推广引流广告词
- 百度关键词推广怎么做 百度怎么发布自己的广告
- 100个免费推广网站 有哪些100个免费推广网站