Apache/Nginx服务器环境强制HTTPS跳转设置方法

虽然我们看到各种新闻或者所谓的权威建议,要求网站都启用HTTPS加密格式,但是老蒋看很多大型网站也并没有启动,HTTPS加密形式固然是有优点,但是也并不能强制所有网站都需要启用。比如简单的个人网站,其实也没有必要使用,反而会是的一些成本以及技术难点增加。

在公司的一些客户项目中,外贸网站、企业网站,他们会考虑加上SSL实现HTTPS绿标。当然,这些也是公司业务员争取过来的业绩增加的结果,不懂他们在客户面前如何忽悠加上多么的帅气。目前SSL证书成本也相当低,年付10美元左右的,甚至免费的都可以找到。

一般的网站服务器环境中,会采用Apache或者Nginx环境驱动,强制HTTPS加密网址需要用到几个脚本就可以实现。当然前提是我们已经在服务器中部署到SSL证书,这里老蒋在前面文章中也有多次提到分享。

第一、Apache 强制HTTPS形式

1、添加文件位置

一般是在网站根目录伪静态文件,如果没有我们需要创建一个.htaccess文件中。

2、强制WWW跳转

RewriteEngine On
RewriteCond %{HTTP_HOST} !^www.itbulu.com$ [NC] RewriteRule ^(.*)$ https://www.itbulu.com/$1 [L,R=301] RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://www.itbulu.com/$1 [L,R=301]

3、强制非WWW跳转

RewriteEngine On
RewriteCond %{HTTP_HOST} !^itbulu.com$ [NC] RewriteRule ^(.*)$ https://itbulu.com/$1 [L,R=301] RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://itbulu.com/$1 [L,R=301]

根据需要是用WWW,还是非WWW,添加到根目录.htaccess文件中,立即生效。

第二、Nginx 强制HTTPS跳转

1、设置文件位置

一般在当前服务器环境中的对应网站域名的.conf文件,添加到配置环境中。

2、强制WWW跳转

if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
if ($host != www.itbulu.com) { return 301 $scheme://www.itbulu.com$request_uri; }

3、强制非WWW跳转

if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
if ($host != itbulu.com) { return 301 $scheme://itbulu.com$request_uri; }

设置之后,需要重启Nginx之后才可以生效。

本文出处:老蒋部落 » Apache/Nginx服务器环境强制HTTPS跳转设置方法 | 欢迎分享( 公众号:老蒋朋友圈 )

公众号 「老蒋朋友圈」获取站长新知 / 加QQ群 【1012423279】获取商家优惠推送