服务器资讯

防御吧作为15年知名老牌域名服务商,CNNIC和CANN双认证域名注册商,已经
持续为500多万个域名提供服务,包括智能DNS/自由转移/隐私保护等服务!
部署https后设置301跳转将http跳转到https
2020-10-27 16:42:33 【

首先说一下http和https:http定义了客户端(浏览器)与服务器之间的通信规则,端口号是80,大部分客户端指的是我们平时上网的浏览器,当然有很多中断例如手机APP、嵌入式软件也可能采用http和服务器通信,这种协议在传输的时候是明文的,也就是在通信过程中传输的数据在线路的每个节点(例如网关,路由器)都可以被劫持到,所以安全性较低。而https即http下加入SSL层加密,端口号是443,传输数据无法被劫持到。
对于安全性较高的站点(金融、银行、电子商务等)一般都采用https,目前越来越多的站点都使用了https,但是很多用户输入的时候都是直接输入网址,默认浏览器作为http来请求,这样就需要在服务器端做一个跳转到https站点,在服务器端跳转有301和302两种方式,这里的301和302指的是http请求状态码,对用户来讲没什么区别,但是对于搜索引擎关系重大,301是永久重定向而302则被认为是临时的,所以应该采用301的方式,做301跳转一般又有两种方式:1.使用程序跳转2.使用web服务器配置跳转。


1、云主机apache环境


【直接在apache上部署的SSL】在对应站点根目录下新建一个文件命名为.htaccess。香港亚洲数据中心机房点击查看规则。


<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond  %{HTTPS} !^on$ [NC]                            

RewriteCond %{HTTP_HOST} ^(www.)?abc.com$ [NC]                # 将abc.com和www.abc.com跳转到https://www.abc.com,防止apache子站继承上级目录.htaccess受影响

RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]

</IfModule>



云主机apache环境:


<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP:From-Https} !^on$ [NC]                                    

RewriteCond %{HTTP_HOST} ^(www.)?abc.com$ [NC]                # 将abc.com和www.abc.com跳转到https://www.abc.com,防止apache子站继承上级目录.htaccess受影响

RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]

</IfModule>



2、虚拟主机linux系统


可以通过ftp或登录后进入到主机管理面板-文件管理,进入wwwroot,新建一个文件命名为.htaccess文件,保存即可。


编辑.htaccess文件写入以下规则:


<IfModule mod_rewrite.c>

RewriteEngine On

RewriteCond %{HTTP:From-Https} !^on$ [NC]

RewriteCond %{HTTP_HOST} ^(www.)?abc.com$ [NC]                # 将abc.com和www.abc.com跳转到https://www.abc.com,防止apache子站继承上级目录.htaccess受影响

RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]

</IfModule>



3、云主机Nginx环境


编辑nginx站点配置文件(如果是wdcp面板,登录wdcp管理面板中:站点列表-文管-虚拟主机站点文件nginx-对应站点配置文件),添加以下规则。(香港亚洲数据中心机房点击查看规则)


server

{

listen 80;

server_name abc.com;

rewrite ^(.*) https://www.abc.com$1 permanent;           # 这段就是需要添加的,abc.com对应修改为您自已的域名  

}

云主机Nginx环境(香港亚洲数据中心机房):


server

{

listen 80;

server_name abc.com;  

}


#亚数机房CDN部署的SSL在自身网站server配置节中添加下面代码

if ( $http_from_https != 'on' ){

    rewrite ^(.*) https://www.abc.com$1 permanent;           # abc.com对应修改为您自已的域名

}



4、云主机Windows系统 IIS7环境


云服务器:【直接在IIS上部署的SSL】在对应站点根目录下新建(通过ftp或登录后直接进入到D:\wwwroot\站点ftp命名目录\wwwroot创建)一个文件命名为web.config并编辑添加以下规则(管理助手部署或者亚洲数据中心机房点击查看规则):


<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

       <rewrite>

           <rules>

              <rule name="301" stopProcessing="true">

                   <match url="^(.*)$" ignoreCase="false" />

                   <conditions logicalGrouping="MatchAll">                      

                      <add input="{HTTPS}" pattern="^on$" negate="true" />

                   </conditions>

                   <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />

              </rule>

           </rules>

       </rewrite>

   </system.webServer>

</configuration>



云主机Windows系统 IIS7环境(香港亚洲数据中心机房和管理助手部署的服务器)


注意更改为自己的域名


<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

       <rewrite>

           <rules>

              <rule name="301" stopProcessing="true">

                   <match url="^(.*)$" ignoreCase="false" />

                   <conditions logicalGrouping="MatchAll">                      

                        <add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" />  

                 </conditions>

                   <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />

              </rule>

           </rules>

       </rewrite>

   </system.webServer>

</configuration>




5、虚拟主机windows系统


可以通过ftp或登录后进入到主机管理面板-文件管理,进入wwwroot,新建一个文件命名为web.config并编辑添加以下规则,注意替换为自己的域名。


<?xml version="1.0" encoding="UTF-8"?>

<configuration>

<system.webServer>

       <rewrite>

           <rules>

              <rule name="301" stopProcessing="true">

                   <match url="^(.*)$" ignoreCase="false" />

                   <conditions logicalGrouping="MatchAll">

                       <add input="{HTTP_FROM_HTTPS}" pattern="^on$" negate="true" />

                   </conditions>

                   <action type="Redirect" url="https://www.abc.com/{R:1}" redirectType="Permanent" />

              </rule>

           </rules>

       </rewrite>

   </system.webServer>

</configuration>



6、云主机Windows系统 IIS6环境




RewriteEngine On

RewriteCond  %{HTTPS} !^on$ [NC]                                                      

RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]       # www.abc.com对应修改为您自已的域名

RewriteCond %{HTTP_HOST} !^www\.

RewriteRule ^(.*)$ https://www.abc.com$1 [R=301,L]        # www.abc.com对应修改为您自已的域名



云主机Windows系统 IIS6环境(香港亚洲数据中心机房)


RewriteEngine On

RewriteCond %{HTTP:From-Https} !^on$ [NC]                              

RewriteRule ^(.*)$ https://www.abc.com/$1 [R=301,L]       # www.abc.com对应修改为您自已的域名

RewriteCond %{HTTP_HOST} !^www\.

RewriteRule ^(.*)$ https://www.abc.com$1 [R=301,L]        # www.abc.com对应修改为您自已的域名



tomcat环境(云主机)


在web.xml最后一行</web-app>代码之前添加如下代码即可


<security-constraint>

   <!-- Authorization setting for SSL -->

   <web-resource-collection >

       <web-resource-name >SSL</web-resource-name>

       <url-pattern>/*</url-pattern>

   </web-resource-collection>

   <user-data-constraint>

       <transport-guarantee>CONFIDENTIAL</transport-guarantee>

   </user-data-constraint>

</security-constraint>

注: 1、discuz使用301方式强制将http跳转到https后会导致后台uc通信失败。


2、通过该方式设置跳转后,如无法正常跳转访问,请单独建立站点绑定https域名,仍在原来站点设置跳转规则。


】【打印关闭】 【返回顶部
分享到QQ空间
分享到: 
上一篇那么免备案cdn加速到底是什么呢?.. 下一篇免备案服务器Windows与linux系统..

立足首都,辐射全球,免备案服务器网专注云防御及云计算服务15年!

联系我们

服务热线:010-56157787 ,010-56159998
企业QQ:4000043998
技术支持:010-56159998
Copyright ? 2003-2016 gnmianbeian.com. 免备案服务器网版权所有 增值许可:京B2-20140042号
售前咨询
公司总机:4000043998 01056155355
24小时电话:010-56159998
投诉电话:18910191973
值班售后/技术支持
售后服务/财务
备案专员
紧急电话:18610088800