IIS7的HTTP到HTTPS的重定向
方法一设置IIS
从HTTP到HTTPS的IIS7中的所有流量重定向,将确保用户始终安全地访问该网站。有许多不同的方法来设置一个IIS7从HTTP重定向到HTTPS和一些比别人更好。理想的HTTP到HTTPS的重定向会做到以下几点:
- 轻轻将用户重定向到HTTPS,因此用户不必在URL中输入“https”开头
- 将用户重定向到特定的页面,他们要去HTTP(page.htm)
- 任何变量保存在查询字符串中传递(= 2页)
- 在所有浏览器
- 转移到重定向页面的PageRank使用301重定向,保持SEO
- 允许一个网站的特定部分,以强制SSL,但允许HTTP网站的其他部分
- 将用户重定向从mydomain.com www.mydomain.com
不幸的是,并不是一件容易的方式,以满足所有这些要求,并且大多数方法只满足其中的几个。最好的方法做一个HTTP到HTTPS的重定向我见过涉及使用ASP.NET做的HTTP到HTTPS的重定向。
但大多数人并不需要所有这些功能,所以我已经列出了两个最好的方法将HTTP重定向到HTTPS在IIS 7中。他们很容易成立,在大多数情况下,有效。
方法1 - 使用微软的URL重写模块
从HTTP到HTTPS的重定向对于这种方法,你需要做到以下几点;
- 安装微软的URL重写模块
- 在IIS 7中安装SSL证书,并将其绑定到您的网站
- 确保要求SSL是不是为您的网站(清除复选框,在这个截图中被选中的检查SSL设置下)

- 复制并粘贴以下代码之间的<rules> </规则>标签在web.config文件在您的网站根目录。
<rule name="HTTP HTTPS redirect" stopProcessing="true">
<match url="(.*)" />
<条件>
<外接输入=“{HTTPS}”,模式=“关闭”IGNORECASE =“真” />
</条件>
<action type="Redirect" redirectType="Found" url="https://{HTTP_HOST}/{R:1}" />
</规则> - 测试网站去到http://www.yoursite.com和保证它重定向
方法2 - 设置自定义错误页
第二种方法是要求设立一个IIS7的HTTP重定向到HTTPS SSL在网站上或网站的一部分,并成立了一个自定义的403.4错误页面。要做到这一点,只要按照下列步骤:
- 在IIS 7中安装SSL证书,并将其绑定到您的网站
- 在IIS中,点击站点名称,并进入SSL设置部分

- 检查需要SSL和要求128位SSL,并单击“ Apply(应用)

- 这样,用户通常会收到此错误:

创建一个新的文本文件,并把它粘贴以下:
<HTML>
<HEAD> <TITLE>重定向中... </ TITLE> </ HEAD>
现在LANGUAGE="JAVASCRIPT">的
功能redirectHttpToHttps()
{
VAR httpURL = window.location.hostname + window.location.pathname +窗口location.search。
VAR httpsURL =“https://”开头+ httpURL
视音频httpsURL“;
}
redirectHttpToHttps() </ SCRIPT> <BODY> </ BODY> </ HTML>- 保存文件作为redirectToHttps.htm在你的C:\ Inetpub目录
- 在IIS中,点击网站名称,并双击“ 错误页面“选项

- 点击添加...状态代码输入403.4。浏览的redirectToHttps.htm您刚才创建的文件,然后点击“确定”

- 选择错误代码,然后按编辑功能设置...

- 点击自定义错误页选项,再次浏览redirectToHttps.htm文件“

- 测试网站去到http://www.yoursite.com和保证它重定向
原网址:http://www.sslshopper.com/iis7-redirect-http-to-https.html
方法二 后台代码实现
方法一我这边试了N此也没折腾出来,也不晓得是IIS7没装好,还是没配置好,按方法一操作时,发现竟然有区别,改注册表也没效果。。。。 如果你也是

2013-08-17 周六
如果出现上面这个问题 ,那么可以换个方式。操作可行的web.config中设置
<system.webServer>
<httpRedirect enabled="false" destination="https://test.1010bao.com" />
<httpErrors errorMode="Custom">
<remove statusCode="403" subStatusCode="4" />
<remove statusCode="403" subStatusCode="-1" />
</httpErrors>
</system.webServer>
或者直接


另外请把:需要SSL和要求128位SSL,并单击“ Apply(应用) 上面3步骤选中
http://www.sslshopper.com/iis7-redirect-http-to-https.html
那就直接方法二
/// <summary>
/// http-https转向
/// by pepe 2013-08-16
/// </summary>
protected void Application_BeginRequest()
{
switch (Request.Url.Scheme)
{
case "https":
Response.AddHeader("Strict-Transport-Security", "max-age=300");
break;
case "http":
var path = "https://" + Request.Url.Host + Request.Url.PathAndQuery;
Response.Status = "301 Moved Permanently";
Response.AddHeader("Location", path);
break;
}
}
引用:http://forums.asp.net/t/1760705.aspx/1
IIS7的HTTP到HTTPS的重定向的更多相关文章
- IIS7的网站通过https访问提示ssl_error_rx_record_too_long
IIS7的网站通过https访问,提示ssl_error_rx_record_too_long,如下图所示: 解决办法: 一.导入服务器的SSL证书至IIS 1.打开IIS,找到服务器证书 2.导入本 ...
- IIS将http强转为https(重定向和重写)
最近接到一个需求,客户希望无论是http还是https请求都可以访问,并且http能转换成https.研究了一圈发现iis的重定向和重写都可以实现http强转https,记录一下. 用到的东东: In ...
- 记一次nginx强制将https请求重定向http
公司要做小程序,但是发现小程序只允许https请求 所以查了查资料使用nginx重定向请求得方式做 以下是过程: 阿里云ssl证书管理控制台申请ssl证书 下载nginx 证书: 解压后得到后缀为ke ...
- IIS配置Url重写实现http自动跳转https的重定向方法(100%解决)
引言 本文推荐阅读地址:https://www.52abp.com/BlogDetails/10008 这种文章网上可以说一搜一大把,但是我为什么还要写呢,因为一搜一把没把我气死,都是东抄西挪的东西, ...
- Confluence 6 通过 SSL 或 HTTPS 运行 - 重定向所有的 URLS 到 HTTPS 的安全考虑
尽管现在 HTTPS 现在已经激活并且可用了.老的 HTTP URLs (http://localhost:8090)还是可以访问的.现在你需要重定向所有 URLs 到他们的 HTTPS 链接中.你可 ...
- LB+nginx+tomcat7集群模式下的https请求重定向(redirect)后变成http的解决方案
0. 环境信息 Linux:Linux i-8emt1zr1 2.6.32-573.el6.x86_64 #1 SMP Wed Jul 1 18:23:37 EDT 2015 x86_64 x86_6 ...
- IIS6与IIS7在编程实现HTTPS绑定时的细微差别
本文章其实最主要信息是: 问题出在那个小小的*号上——IIS6中不支持通配符,第一部分为空时表示(All Unsigned),而IIS7中同时支持空或通配符的写法,如果为空则自动转为*:443:,我们 ...
- Nginx的HTTPS 301重定向到另一个TLD(托管在同一服务器上)没有显示出SSL警告
我自己 example.com, .com.au, .net, .net.au, ... (8 in total). 我想所有的这些顶级域名以301的域名重定向到安全.COM域 https://www ...
- 设置OWA访问HTTP到HTTPS的重定向
需求:公司要求使用Http://mail.ever.com的方式来统一访问邮箱,所以需要进行相关的设置,将访问需求重定向到https://extest.ever.com/owa 首先在DNS里的eve ...
随机推荐
- Cracking the coding interview--Q3.1
题目 原文: Describe how you could use a single array to implement three stacks. 译文: 你如何只用一个数组实现三个栈? 解答 我 ...
- stm32独立看门狗
转载:http://blog.sina.com.cn/s/blog_7f1dc53b01010mqa.html 实验现象: 开始LED1亮,LED2熄灭,若不隔时间按KEY1则发现LED2因独立看门狗 ...
- js学习笔记13----数组的操作
1.数组的定义 格式1:var arr=[1,2,3]; 格式2:var arr=new Array(1,2,3); //new可以省略 注意:var arr=new Array(4);如果你里面只写 ...
- 【R】提升R代码运算效率的11个实用方法
低.有许多种方法可以提升你的代码运算效率,但或许你更想了解运算效率能得到多大的提升.本文将介绍几种适用于大数据领域的方法,包括简单的逻辑调整设计.并行处理和Rcpp的运用,利用这些方法你可以轻松地处理 ...
- js匹配浏览器类型,收藏下
<script type="text/javascript">/** 智能机浏览器版本信息:**/ varbrowser={ versions:function ...
- 【转】【MySql】Update批量更新与批量更新多条记录的不同值实现方法
批量更新 mysql更新语句很简单,更新一条数据的某个字段,一般这样写: UPDATE mytable SET myfield = 'value' WHERE other_field = 'other ...
- C++ Primer学习笔记(一)
始终对C++念念不忘,看过 一个32岁入门的70后程序员给我的启示 之后,心情激荡,更是一发不可收拾. 认真地说,我不是一个执着的人,见异思迁,好读书而不求甚解,兼之情绪化(~~ 某些方面),于是怒 ...
- 一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) set 注入
一:这里先说一下DI(Dependency Injection)依赖注入有种表现形式:一种是CI(Constructor Injection)构造方法注入,另一种是SI(Set Injection) ...
- Floyd算法实例
~ 当k=0时,我们关注的是邻接矩阵的第0行和第0列,即顶点0的入边和出边: 考察矩阵中其他元素,如果元素D[i][j]向第0行和第0列的投影D[0][j]和D[i][0]都有值,就说明原图中从 i ...
- Android camera 竖直拍照 获取竖直方向照片
竖直拍照 if (Integer.parseInt(Build.VERSION.SDK) >= 8) { camera.setDisplayOrientation(90); } else ...