IIS反向代理/Rewrite/https卸载配置
目标,使IIS具有类似与Nginx的功能,将指定域名的请求重定向到IIS内、IIS外、其他机器上的其他端口,并且实现https卸载功能
重点预告:
1.安装最新版urlrewrite(微软开发的)插件
2.安装最新版ARR插件(Application Request Routing)
3.添加重定向规则
4.流量:外网==>IIS==>指定网站==》UrlRewrite==》ARR==》你的目标程序的url
如果只转发到IIS内网站,则不需要ARR。如果要转发到其他程序或机器,则必须要ARR
如果不需要https卸载可以直接在全局配置规则。
====================正文分割线====================
1.材料
IIS(Windows专业版自带,如果是server版系统,需要通过功能管理器安装(无需下载))
urlrewrite插件,https://www.iis.net/downloads/microsoft/url-rewrite
ARR插件(Application Request Routing)https://www.iis.net/downloads/microsoft/application-request-routing。如果只转发到IIS内网站,则不需要ARR
上面两个插件均可以通过WebPlatformInstaller 搜索安装
2.安装插件
安装好以上两个插件,重启IIS管理器,然后点击当前主机,就会发现两个新增的图标了。如果没看到的话,重启IIS、重启


3.设置绑定
如果不需要https卸载(即外网https流量转发为http流量)可以跳过这步。
使用默认的Default Site或者新建一个网站。并设置绑定如下图
根据需求设置端口和ip。
其中主机名设置为*
为什么要设置为*呢,目标是将要所有流量接入该网站。然后通过ARR/Rewrite将指定的流量再转发出去。
如果你理解了这里的主机名的作用,那么也可以设置指定的一个或多个域名,例如 www.example.com。这样设置转发的时候不会影响其他网站,缺点(也是优点)是,只能接入设置了域名的流量。

注意:https需要先导入/创建一个自签名证书,并在添加https绑定的时候指定该证书。导入证书的图标在第一张图中(服务器证书/ServerCertificates)。

4.ARR设置(如果只转发到IIS内则不需要ARR)

5.添加转发规则。
这里要注意:
- 规则有两个地方,一个是IIS管理器中单击主机名,一个是单击网站。二者的范围不言自明,一个是全部流量转发,一个是只转发流入指定网站的流量。
- 要实现https卸载,则必须设置网站中的规则。
这里使用网站规则,因此需要先点击网站,然后双击打开UrlRwrite

添加一条空白规则

填上需要的内容


填好了,赶紧保存下。

6.测试
此时,启动网站,启动9000端口的程序。浏览器输入 https://a.example.com,如果在本地调试,需要在hosts中配置域名转向到本地才能测试哦。
如果使用自签名证书,可能会提示该网站不安全,因为证书的颁发人和目标人都是你自己,而不是第三方受信任的机构。可以把该证书下载下来,然后安装到 受信任的证书颁发机构中。再次打开即可
ARR中还有个功能比较有意思,叫反向代理抓发,可以实现对流入流量的抓包。

如果使用Fiddler来做反向代理监听上面的8889端口,可以参考http://docs.telerik.com/fiddler/configure-fiddler/tasks/usefiddlerasreverseproxy
也就是在 Fiddler Script中找到 OnBeforeRequest 这个函数,在函数中增加下面一句即可
if (oSession.host.toLowerCase() == "127.0.0.1:8889") oSession.host = "127.0.0.1:9000";//目标服务器监听在127.0.0.1:9000,此时可以在Fiddler中看到入站流量包的详细信息。
注意:开启反向代理之后,会在全局UrlRewrite中添加一条所有请求重写到上述代理的规则,如果只需要过滤指定的请求,可以编辑该规则添加条件。
IIS反向代理/Rewrite/https卸载配置的更多相关文章
- nginx 反向代理及 https 证书配置
nginx 反向代理及 https 证书配置 author: yunqimg(ccxtcxx0) 1. 编译安装nginx 从官网下载 nginx源码, 并编译安装. ./configure --pr ...
- 一文教您如何通过 Docker 搭建反向代理 Ngnix,并配置 Https SSL 证书
欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注附送 100G 海量学习资源哟!! 个人网站: https://www.exception.site/docker/h ...
- IIS 反向代理到 Apache、Tomcat
将请求的网址重写重定向到其它网址.当80端口被占用无法同时使用两个Web服务的解决方案,使得IIS和Apache Tomcat 共存 环境 WindowServer 2008 IIS7 Apache ...
- IIS反向代理解决Web前端跨域
1.1 IIS7反向代理解决跨域问题IIS的版本必须是IIS7及其以上,否则没有反向代理功能:按照以下步骤来配置IIS,以实现反向代理: 1.2 配置步骤1. 下载安装ARR(Application ...
- IIS 反向代理 golang web开发
一. beego 开发编译 bee run 后会编译成 exe文件 编译生成后发布文件结构为 cmd 运行 cd D:/run beegoDemo.exe run 默认配置端口 不能为 80 跟iis ...
- Nginx插件之openresty反向代理和日志滚动配置案例
Nginx插件之openresty反向代理和日志滚动配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.openresty介绍 1>.Nginx介绍 Nginx是一款 ...
- Nginx反向代理实现负载均衡配置图解
Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章来操作. ...
- IIS反向代理配置教程(最终完整版本)
IIS代理配置教程 插件下载:https://download.csdn.net/download/song_yan_/11996489 一.安装反向代理插件 1.rewrite插件安装 (1) 双击 ...
- docker 安装 wordpress,通过nginx反向代理,绑定域名,配置https
假设docker已经安装好了,如果没有安装,可以照着 5分钟安装docker教程. 一. 下载镜像 默认下载最新版本,如果想指定对应版本,可以用冒号后加版本,像这样mysql:5.7: docker ...
随机推荐
- sphinx 安装使用
一.linux(centos)下安装源码包 1.下载 wget http://sphinxsearch.com/files/sphinx-2.3.1-beta.tar.gz 2.安装 切换目录到 ...
- 从0开始 数据结构 字典树 hdu1251
字典树 知识补充 '\0'和'\n'的区别 '\0' 是一个字符串的结尾 '\n' 是换行符 gets 和 scanf 的区别 gets()函数总结: gets() 从标准输入设备读取字符串,以回车结 ...
- sstream头文件-getline 函数 和 stringstream函数 和string的常见用法
2017-08-12 19:50:50 writer:pprp getline函数可以读入一行的字符,不论有没有空格 第一个参数,流 第二个参数 ,将流读入的地方 第三个参数,当读到某个字符的时候停止 ...
- ThinkPHP的URL重写时遇到No input file specified的解决方法
因为在Fastcgi模式下,php不支持rewrite的目标网址的PATH_INFO的解析 ThinkPHP运行在URL_MODEL=2时,会出现 No input file specified.的情 ...
- iView--3
项目基本结构 简单介绍目录 build目录是一些webpack的文件,配置参数什么的,一般不用config是vue项目的基本配置文件node_modules是项目中安装的依赖模块src源码文件夹,基本 ...
- poi读取excel转对象,格式转换帮助类
//格式转换//value:原数据,parmtype:方法参数类型,cellType 单元格类型public static Object formatd(String value, String pa ...
- [Vue]组件——插槽:slot(匿名插槽,具名插槽)与slot-scope(作用域插槽)
1.单个插槽 | 匿名插槽 1.1<navigation-link> 子组件定义为: <a v-bind:href="url" class="nav-l ...
- hand first python 选读(1)
列表(list) 基本操作 比如说我要整理一个近期热映的电影列表: movies = ["venom", "My Neighbor Totor", " ...
- Struts2的Convention插件
Struts2的Convention插件的作用:在Struts2中的/lib/struts2-convention-plugin-x.x.xx.x.jar Convention插件会自动搜索位于act ...
- jQuery绑定事件的on()
jQuery绑定事件 语法:$(selector).on(event,childselector,function(){}); 可以为自身的加事件(一个或多个) 也可以为其子元素加事件(一个或多个) ...