各种版本http做自动跳转https

IIS 版本 IIs中实现Http自动转换到Https方法介绍 1、根据IIS版本备份以下文件: IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common\403-4.htm IIS7.0以上 路径: C:\inetpub\custerr\zh-CN\403.htm 2、把以下内容全部拷
IIS 版本

IIs中实现Http自动转换到Https方法介绍 

1、根据IIS版本备份以下文件:

IIS6.0 路径:C:\WINDOWS\Help\iisHelp\common\403-4.htm

IIS7.0以上 路径:C:\inetpub\custerr\zh-CN\403.htm


2、把以下内容全部拷贝替换(403-4或403)里面所有内容,保存即可

<HTML><HEAD><TITLE>该页必须通过安全通道查看</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=GB2312">
</HEAD><BODY>
<script type="text/javascript">
var url = window.location.href;
                if (url.indexOf("https") < 0) {
                    url = url.replace("http:", "https:");
                    window.location.replace(url);
                }
</script>
</BODY></HTML>


注释:IIS6中,站点属性-》目录安全性-》编辑中把“要求安全通道(SSL)”勾选上即可。
      IIS7、8中,SSL设置-》把“要求SSL”勾选即可。


APache 版本

如果需要整站跳转,则在网站的配置文件的<Directory>标签内,键入以下内容:(本站跳转为开启Rewrite,.htaccess文件写入)

RewriteEngine on
RewriteCond %{SERVER_PORT} !^443$
RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]


如果对某个目录做https强制跳转,则复制以下代码:

RewriteEngine on
RewriteBase /yourfolder
RewriteCond %{SERVER_PORT} !^443$
#RewriteRule ^(.*)?$ https://%{SERVER_NAME}/$1 [L,R]
RewriteRule ^.*$ https://%{SERVER_NAME}%{REQUEST_URI} [L,R]


如果只需要对某个网页进行https跳转,可以使用redirect 301来做跳转!

redirect 301  /你的网页 https://你的主机+网页





Tomcat 版本

需要做两个地方改动。

1:server.xml 中配置ssl证书的端口要改成默认的“443”端口,如果已经修改,请直接操作第二步;

2:在web.xml配置文件中添加节点代码:如下



<web-app>
.........
<security-constraint>
    <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>
  </web-app>


  3:回到server.xml 配置文件中找到80端口的节点,里面有默认这个属性是 redirectPort="8443"  要改成 “443”  保存重启即可。


Nginx版本

在配置80端口的文件里面,写入以下内容即可。

server {
        listen       80;
        server_name  localhost;
       rewrite ^(.*)$ https://$host$1 permanent;        

        location / {
            root   html;
            index  index.html index.htm;
        }

单独页面通用代码段:

在需要强制为https的页面上加入该代码进行处理   

             

<script type="text/javascript">
var url = window.location.href;
                if (url.indexOf("https") < 0) {
                    url = url.replace("http:", "https:");
                    window.location.replace(url);
                }
</script> 


以上仅供参考实现。百度对https跳转不是太友好 建议使用301进行跳转。

转载请注明:https://www.yooym.com/blog/jianzhanjiaocheng/tongyongjiaocheng/2015/0908/261.html
------分隔线----------------------------
文章分类
推荐内容
  • php通用实用文件上传类随机命名后缀限制

    不多说直接上代码,支持随机命名,路径,文件大小,后缀限制 ?php class UploadFile{ //完整实例 $upload = new UploadFile(true, '../yuming/', 'xls|xlsx'); 随机命名、路径、...

  • 解决SSL因为使用RC4密码套件或支持弱Diffie-Hellman(DH)密钥交换降级为B

    解决SSL因为使用RC4密码套件或支持弱Diffie-Hellman(DH)密钥交换降级为B 服务器环境IIS7 通过修改注册表关闭不安全的支持 复制下列文件 保存为 reg格式 直接导...

  • 实现HTTP跳转到HTTPS 的另一种方法

    1 首先在您的网站下新建一个站点,名称随意,在属性中分配 TCP 端口为 80 , SSL 不分配 然后在属性》主目录下配置 将此资源的内容来自:改为重定向到...

  • SSL证书安装指南 - Winodws 2003 Server IIS 6.0

    S SL证书安装指南 - Winodws 2003 Server IIS 6.0 一旦您申请的SSL证书成功颁发,您会收到一个邮件通知您取回证书,点击邮件中的取回证书链接,就可以得到您的...

  • SSL证书安装指南 - IIS 7.0

    一、生成证书请求 1.进入IIS控制台 进入IIS控制台,并选择服务器的服务器证书设置选项。 2.添加证书请求 进入服务器证书配置页面,并选择“创建证书申...

  • 网页启用Gzip压缩 提高浏览速度

    Gzip压缩我很早已经就启用了,不过从未与大家分享过。近期由于备案问题,临时更换服务器,结果忘了启用Gzip压缩,周末利用空余时间启用了Gzip压缩,并...