侧边栏壁纸
博主头像
万事屋 博主等级

行动起来,活在当下

  • 累计撰写 198 篇文章
  • 累计创建 15 个标签
  • 累计收到 3 条评论

目 录CONTENT

文章目录

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

云深不知处
2017-09-21 / 0 评论 / 0 点赞 / 0 阅读 / 0 字

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


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


第一、Apache 强制HTTPS形式


1、添加文件位置


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


2、强制WWW跳转

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

3、强制非WWW跳转

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

3、强制非WWW跳转

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

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

0

评论区