1.   IIS设置

1.1 创建SSL证书

   点击左侧菜单栏顶部,点击“功能视图”里的“服务器证书”:

点击“创建自动签名证书”创建自动签名证书:

1.2 设置SSL证书

点开网站,在“功能视图”里点击“SSL设置”:

如图,设置SSL:

1.3 绑定SSL证书

点开网站,在右侧“操作”栏点击“绑定”:

添加“网站绑定”,选择https及刚刚创建的SSL证书,主机名(也就是域名)根据需要选设(IIS7默认不支持,需要在配置文件applicationHost.config里进行设置,详见注):

【注】域名也可以通过配置进行设置:

  打开C:\Windows\system32\inetsrv\config\applicationHost.config在里面找到

<bindings>
<binding protocol="https" bindingInformation="*:443:" />
<binding protocol="http" bindingInformation="*:80:www.yourdomain.com" />
</bindings>

  找到https的配置项目,修改为:

<binding protocol="https" bindingInformation="*:443:www.yourdomain.com"/>

  这里面需要注意的是:bindings节点有多个,需要找到你配置的站点,默认是

<binding protocol="https" bindingInformation="*:443" />

2.强制使用https

  MVC操作非常简单,只需要在网站Index设置RequireHttps特性即可:

        [RequireHttps]
public ActionResult Index()
{
return View();
}

  这是一种投机的设置,合理的做法应该是在项目Global.asax文件 Application_Start中添加过滤:

 GlobalFilters.Filters.Add(new RequireHttpsAttribute());

3.https使用中的问题

3.1 百度地图的问题

  https的网站使用百度地图,如果你引用的地址没写对的话,加载不出来百度地图,被认为是不安全的JS内容。解决方式:

  https://api.map.baidu.com/api?v=2.0&ak=你的密钥&s=1

  加上s=1代表引用的是https的。

3.2 加密会话(SSL)Cookie 中缺少 Secure 属性问题

服务器开启了Https时,cookie的Secure属性应设为true,否则,在进行IBM AppScan安全扫描时,就会扫出下面的问题:

  解决办法:

  1. 修改web.config,添加:

<system.web>
<httpCookies httpOnlyCookies="true" requireSSL="true" />
<system.web>

  2. 修改后台写Cookies时的设置 cookie.Secure = true:

 HttpResponse response = HttpContext.Current.Response;
var cookie = new HttpCookie(key, value);
cookie.HttpOnly = true;
cookie.Path = "/";
cookie.Expires = DateTime.Now.AddHours();
cookie.Secure = true;
response.AppendCookie(cookie);

参考资料:

IIS配置HTTPS

C# MVC 网站将http强制跳转到https
IBM AppScan
安全扫描:加密会话(SSL)Cookie 中缺少 Secure 属性 处理办法

Asp.Net MVC Https设置的更多相关文章

  1. 下载文件时-修改文件名字 Redis在Windows中安装方法 SVN安装和使用(简单版) WinForm-SQL查询避免UI卡死 Asp.Net MVC Https设置

    下载文件时-修改文件名字   1后台代码 /// <summary> /// 文件下载2 /// </summary> /// <param name="Fil ...

  2. js基础 js自执行函数、调用递归函数、圆括号运算符、函数声明的提升 js 布尔值 ASP.NET MVC中设置跨域

    js基础 目录 javascript基础 ESMAScript数据类型 DOM JS常用方法 回到顶部 javascript基础 常说的js包括三个部分:dom(文档document).bom(浏览器 ...

  3. ASP.NET MVC中设置跨域

    ASP.NET MVC中设置跨域 1.什么是跨域请求 js禁止向不是当前域名的网站发起一次ajax请求,即使成功respone了数据,但是你的js仍然会报错.这是JS的同源策略限制,JS控制的并不是我 ...

  4. ASP.NET MVC 项目设置,移除多余的响应头,woff,woff2 字体文件请求处理

    移除 X-AspNetMvc-Version 在 Global.asax 的 Application_Start添加代码 MvcHandler.DisableMvcResponseHeader = t ...

  5. 【.NET应用技巧】Asp.NET MVC 4 设置IIS下调试

    [环境] VS 2012  IIS7.5 [问题] MVC项目在创建时和APS.NET不同,不能够选择服务器类型,不能够直接把项目创建到IIS上. 如果在项目中直接更改属性,更换调试服务器类型,会报错 ...

  6. ASP.NET MVC https全局配置

    //https全局配置 ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls12; ServicePointManager.S ...

  7. ASP.NET MVC 必须设置 ErrorMessageString 或 ErrorMessageResourceName,但不能同时设置二者。

    解决方案: 1.此错误是指你的验证错误信息为空(required="")和required提示信息一致,引发的错误. 简单的来说就是两个验证错误提示消息一样了. 2.修改提示消息解 ...

  8. asp.net mvc 设置启动页面在区域中

    在开发过程中,我们有时候需要启动区域中的页面为起始页面,那我们就需要子啊路由中添加一段代码 如何完整案例:         public static void RegisterRoutes(Rout ...

  9. ASP.NET MVC 站点设置.html 为起始页

    1.  删除 controller="XX" 2. 确保你的工程根目录下的*.htm或*.html文件名在IIS默认文档中存在 搞定

随机推荐

  1. 解决eclipse svn 转 maven web 项目中遇到找不到maven managed dependencies的问题

    我们在使用eclipse从svn上check项目下来,然后转成maven web 项目的时候,经常会遇到一个问题,就是找不到maven依赖(maven managed dependencies),从而 ...

  2. Scrapy爬虫遇到 ‘Forbidden by robots.txt’的问题

    今天在爬知乎精华时,出现了‘Forbidden by robots.txt’的问题 了解到到scrapy在爬取设定的url之前,它会先向服务器根目录请求一个txt文件,这个文件规定了爬取范围 scra ...

  3. 如何手写JDK锁

    手写JDK锁 需要三个步骤: 手写一个类MyLock,实现Lock接口 重写lock()方法 重写unlock()方法 代码: public class MyLock implements Lock ...

  4. 异步多线程 Async

    进程:进程是一个程序在电脑运行时,全部资源的合集叫进程 线程:是程序的最小执行单位,包含计算资源,任何一个操作的响应都是线程完成的.   多线程:多个线程并发执行   Thread 是.net框架封装 ...

  5. 对EF的封装

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.D ...

  6. GIS大数据存储预研

    文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1. 背景 在实际项目运行中,时常会出现希望搜索周边所有数据的需求.但是 ...

  7. centos7 ambari安装HDP

    环境介绍:操作系统为Centos7.1:测试设备全部为内网设备,不通公网,所以需要配置本地yum源: 首先安装ansible工具,用来批量安装ambari.java以及基础的一些配置: 一. 免密钥登 ...

  8. PostgreSQL数据库部署之 :PostgreSQL pgadmin4 the application server could not be contacted

    遇到问题: 尝试了删除c:\Users\your_name\AppData\Roaming\pgAdmin 之内的删除所有文件和文件夹, 然后在C:\Program Files\PostgreSQL\ ...

  9. windows本地安全策略实验-远程桌面连接锁定账户

    windows本地安全策略实验-远程桌面连接锁定账户 实验环境: 服务端:Win7-1:10.10.10.136,开启远程桌面服务 客户端:win7-2:10.10.10.153 确保客户端和服务端能 ...

  10. 3星|《绩效使能:超越OKR》:较全较新资料汇编,华为实施经验少

    全书是关于绩效管理与OKR的比较新比较全的资料汇编.从泰勒的科学管理说起,一直到现代的KPI.最近的OKR.梳理了工业革命以来重要的绩效管理思想的具体方法.适应情况,详细讲OKR的来龙去脉.适应情况. ...