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

原创 炫懿  2017-09-21 13:05:08  阅读 663 次 评论 2 条
摘要:

  虽然我们看到各种新闻或者所谓的权威建议,要求网站都启用HTTPS加密格式,但是很多大型网站也并没有启动,HTTPS加密形式固然是有优点,但是也并不能强制所有网站都需要启用。比如简单的个人网站,其实也没有必要使用,反而会是的一些成本以及技术难点增加。一般的网站服务器环境中,会采用Apache或者Nginx环境驱动,强制HTTPS加密网址需要用到几个脚本就可以实现。当然前提是我们已经在服务器中部署到SSL证书。第一、Apache 强制HTTPS形式1、添加文件位置一般是在网站根目录伪静

  虽然我们看到各种新闻或者所谓的权威建议,要求网站都启用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之后才可以生效。

本文地址:https://wanbk.net/115.html
版权声明:本文为原创文章,版权归 炫懿 所有,欢迎分享本文,转载请保留出处!

发表评论


表情

评论列表

  1. wxz
    wxz 【】  @回复

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