当前位置:首页 > 业界动态 > 正文内容

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

炫懿3年前 (2017-09-21)业界动态962

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


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


第一、Apache 强制HTTPS形式


1、添加文件位置


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


2、强制WWW跳转

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

3、强制非WWW跳转

RewriteEngine On
RewriteCond %{HTTP_HOST} !^wanbk.net$ [NC]
RewriteRule ^(.*)$ https://wanbk.net/$1 [L,R=301]
RewriteCond %{SERVER_PORT} 80
RewriteRule ^(.*)$ https://wanbk.net/$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.wanbk.net) { return 301 $scheme://www.wanbk.net$request_uri; }

3、强制非WWW跳转

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

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

评论列表

wxz
3年前 (2017-09-22)

对,对于我的网址来说,HTTPS反而是增添服务器负担以及我的负担的累赘

炫懿 回复:
毕竟只是个人博客,https是个趋势.
3年前 (2017-09-22)

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。
召唤伊斯特瓦尔