网站要使用https需要如下几个步骤

1、申请https证书,现在已经有很多免费的https证书申请了

2、服务器中安装证书

3、网站的连接全部改为https连接

Asp.Net Mvc网站中整站改为Https连接可以使用以下两种方法

修改Global.asax.cs

在 Global.asax.cs 添加如下代码

#if !DEBUG
GlobalFilters.Filters.Add(new RequireHttpsAttribute());
#endif

这是配置了ASP.NET的程序,可以处理所有的经过ASP.NET处理的请求;但是对于存放在Web服务器上的其他资源文件(即不经过ASP.NET的程序的处理)无效。
如果有此需求,应该告知IIS服务器不要私自回复用户请求,要求所有请求都必须由ASP.NET程序执行。
此时,在Web.config下增加下面的内容,注意是根目录的Web.config而不是Views文件夹的Web.config

<system.webServer>
<modules runAllManagedModulesForAllRequests="true"/>
<system.webServer>

修改Web.config部署全站HTTPS

插一句题外话,下个版本的ASP.NET据说要取消掉Web.config。
在IIS 7.0+的版本上,可以使用URL Rename来完成。Url Rename是指当IIS接收到某个请求后,先根据设定的规则进行更改请求地址后,在发送给网站程序。经测试本方法在Azure App Service (原名 Azure Websites)是可以使用的。
在Web.config的configuration节点下,找到或添加system.webServer节点,并在此节点下添加:

    <rewrite>
<rules>
<!-- clear 会清除掉已有的rule,如果添加过别的rule,请注意确认-->
<clear/>
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>

仅修改Release的Web.config

这样就算轻松搞定了,但是在开发时,我们不希望要求HTTPS,这时可以通过只修改Release的Web.config来解决。
首先,不要修改Web.config,而是找到Web.Release.config(VS点开Web.config的小箭头)。
configuration节点下添加如下内容:

  <system.webServer>
<rewrite xdt:Transform="Insert">
<rules>
<!-- clear 会清除掉已有的rule,如果添加过别的rule,请注意确认-->
<clear/>
<rule name="Force HTTPS" enabled="true">
<match url="(.*)" ignoreCase="false" />
<conditions>
<add input="{HTTPS}" pattern="off" />
</conditions>
<action type="Redirect" url="https://{HTTP_HOST}/{R:1}" appendQueryString="true" redirectType="Permanent" />
</rule>
</rules>
</rewrite>
</system.webServer>

这个如刚才的区别仅仅在于<rewrite xdt:Transform="Insert">,关于如何整合这些内容,请参阅用于 Web 应用程序项目部署的 Web.config 转换语法

转载自:https://www.cnblogs.com/qin-nz/p/4591687.html

Asp.Net Mvc 整站Https的更多相关文章

  1. 在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) -- 学习

    在 ASP.NET MVC 中使用 HTTPS (SSL/TLS) IS 7如何实现http重定向https HTTPS 升级指南

  2. 在 ASP.NET MVC 中使用 HTTPS (SSL/TLS)

    某些安全性较高的网页,如网上支付或用户登陆页面,可能会使用到https(SSL/TLS)来提高安全性.本文介绍了如何在ASP.NET MVC中强制某action使用https和如何进行向https页面 ...

  3. 用ASP.NET MVC仿站糗事百科

    废话就不多说,直接来操作,有些细节问题就不一一解说了(没有几天几夜都说不完),主意是想让大家看完知道大概这个框架是怎么搭建的就可以了 一. 新建一个解决方案,搭建三层架构,分别为: DAL层  .DL ...

  4. ASP.NET MVC 部署全站HTTPS

    什么是全站HTTPS 全站HTTPS就是指整个网站的所有页面,所有资源全部使用HTTPS链接. 当用户的某个请求是明文的HTTP时,应该通过HTTP状态码301永久重定向到对应的HTTPS链接. 为了 ...

  5. 整站HTTPS后的跨域请求 CORS是否还有效?

    | 导语  手Q马上就要全量https了,很多业务都有跨域ajax请求的需求,原来使用的CORS头在HTTPS环境中还继续能用吗?我搜遍了谷歌.百度,都没看到有明确的答案,那么就自己来尝试一下吧. 关 ...

  6. ASP.NET MVC Filter

    http://stackoverflow.com/questions/6940371/asp-net-mvc-request-filters http://afana.me/post/aspnet-m ...

  7. ASP.NET MVC 5 實作 GridView 分頁

    本文用 ASP.NET MVC 5 實作一個 GridView,功能包括: 分頁(paging).關鍵字過濾(filtering).排序(sorting).AJAX 非同步執行,外觀上亦支援 Resp ...

  8. ASP.NET MVC 3升级至MVC 5.1的遭遇:“已添加了具有相同键的项”

    最近将一个项目从ASP.NET MVC 3升级至刚刚发布的ASP.NET MVC 5.1,升级后发现一个ajax请求出现了500错误,日志中记录的详细异常信息如下: System.ArgumentEx ...

  9. Asp.net MVC 插件式应用框架

    Asp.net MVC 插件式应用框架 2013年05月13日 10:16供稿中心: 互联网运营部 摘要:这几年来做了很多个网站系统,一直坚持使用asp.net mvc建站,每次都从头开始做Layou ...

随机推荐

  1. Java 中如何输入

    import java.util.Scanner; //键盘扫描类public class Test{public static void main(String[] args) {Scanner i ...

  2. mediacoder固定质量CRF

    视频编码:crf 与 bitrate 对照表 CRF(constant rate factor)就是x264/x265下压制视频的一种恒定量化值的编码方式,码率不恒定.其实就相当于vbr1pass.采 ...

  3. No value specified for Date

    现象 使用BeanUtils复制对象属性,结果抛出No value specified for Date异常. 原因 是数据源orig有一个参数是java.util.Date类型,没有初始化值,调用了 ...

  4. Linux下java进程CPU占用率高分析方法(二)

    1. 通过 top 命令查看当前系统CPU使用情况,定位CPU使用率超过100%的进程ID:2. 通过 ps aux | grep PID 命令进一步确定具体的线程信息:3. 通过 ps -mp pi ...

  5. java类型 jdbcType类型 mysql类型关系

    java类型 jdbcType类型 mysql类型关系 Java类型 JdbcType Mysql类型 备注 String VARCHAR VARCHAR 变长字符串 String LONGVARCH ...

  6. typescript装饰器 方法装饰器 方法参数装饰器 装饰器的执行顺序

    /* 装饰器:装饰器是一种特殊类型的声明,它能够被附加到类声明,方法,属性或参数上,可以修改类的行为. 通俗的讲装饰器就是一个方法,可以注入到类.方法.属性参数上来扩展类.属性.方法.参数的功能. 常 ...

  7. zookeeper使用过程的错误

    一.zookeeper启动成功,dubbo服务也注册成功,但是服务消费者调用失败 报错如下: [myid:] - INFO [SyncThread:0:ZooKeeperServer@645] - E ...

  8. libfacedetection

    libfacedetection测试 #include <stdio.h> #include <opencv2/opencv.hpp> #include <facedet ...

  9. 【Dart学习】--Dart之数组(List)的相关方法总结

    一,初始化List 非固定长度list var testList = List(); print(testList.length);//输出0 固定长度List var testList2 = Lis ...

  10. 设置pycharm文件默认换行符onfiguring Line Separators

    http://www.jetbrains.com/help/pycharm/2016.2/configuring-line-separators.html PyCharm makes it possi ...