IIS配置Url重写实现http自动跳转https的重定向方法(100%解决)

引言

本文推荐阅读地址:https://www.52abp.com/BlogDetails/10008git

这种文章网上能够说一搜一大把,可是我为何还要写呢,由于一搜一把没把我气死,都是东抄西挪的东西,搞得整个文档质量太差。基本上看了几篇,连蒙带猜才配置好。
固然我在2019都要来了的时间写这个文章,有点像49年入国军的感受。可是改写的内容仍是得写,谁叫IIS仍是很好用的。github

咱们先说需求场景

使用场景:首先你的有需求,好比咱们的52ABP启用了SSL全站加密,那么默认浏览器进入的地址是:http://www.52abp.com ,我须要将http://www.52abp.com自动跳转到https://www.52abp.com 的入口中去,否则仍是会有没加密的路径能够进行访问。后端

有了需求咱们再来讲下须要准备的工具和环境:浏览器

操做流程

配置URL分为全局和非全局,下图,能够看到URL重写组件内容。
image.png
选择某一个站点中的URL重写,咱们称之为单独的非全局。
直接选择IIS的能够配置全局,因此这里要依靠你本身的判断和选择。框架

打开Url重写工具

image.png

在右侧点击添加,而后选择空白规则,而后进行规则的配置。前后端分离

规则命令以下

这个也是网上一大堆教程最神的地方,不少东西都是缺失的,后者不把代码帖出来的。。工具

名称:Redirect To HTTPS(这个名字你能够本身改)
模式: (.*) 而后点击忽略大小写
image.png学习

条件中的逻辑分组处理

首先参考上图中的逻辑分组信息。
| 输入 |类型 |模式 |是否忽略大小写| 备注 |
| :--- | :--: | :-----: | :--: | :--: |
|{HTTPS}|与模式匹配|^OFF$|YES|此项用来匹配你的请求是HTTPS仍是HTTP|
|{HTTPS_HOST}|与模式不匹配|^(localhost)|YES|若是你是本地的localhost不会重定向到SSL|加密

这个也是网上一堆复制粘贴不写清楚的地方。url

操做重定向

image.png

在操做属性中,重定向的URL:https://{HTTP_HOST}/{R:1} ,而后选中 附加查询字符串以及重定向类型为303 便可。

总结

其实这些都不难,可是网上不少人写资料,写的不清晰也不检查,致使问了很多问题。
image.png
最终效果

额外的内容

本文的原文在 github,若是您发现了错漏,欢迎参与协同哦~】

协同地址:https://github.com/52ABP/Documents/blob/master/src/articles/IISConfigUrlRewrite.md

咱们建立的 52ABP 框架,已经开始有不少小伙伴开始使用了。若是您对这套基于.net core +angular 的先后端分离的框架感兴趣的话,欢迎来找咱们哦~

传送门: 2019 年起如何开始学习 ABP 框架系列文章-开篇有益

相关文章
相关标签/搜索