2021-01-02

  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在里面找到
  找到https的配置项目,修改为:   这里面需要注意的是:bindings节点有多个,需要找到你配置的站点,默认是 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>

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

1 HttpResponse response = HttpContext.Current.Response;
2 var cookie = new HttpCookie(key, value);
3 cookie.HttpOnly = true;
4 cookie.Path = “/”;
5 cookie.Expires = DateTime.Now.AddHours(1);
6 cookie.Secure = true;
7 response.AppendCookie(cookie);

参考资料:

IIS配置HTTPS

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值