目标,使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 Routinghttps://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卸载配置的更多相关文章

  1. nginx 反向代理及 https 证书配置

    nginx 反向代理及 https 证书配置 author: yunqimg(ccxtcxx0) 1. 编译安装nginx 从官网下载 nginx源码, 并编译安装. ./configure --pr ...

  2. 一文教您如何通过 Docker 搭建反向代理 Ngnix,并配置 Https SSL 证书

    欢迎关注个人微信公众号: 小哈学Java, 每日推送 Java 领域干货文章,关注附送 100G 海量学习资源哟!! 个人网站: https://www.exception.site/docker/h ...

  3. IIS 反向代理到 Apache、Tomcat

    将请求的网址重写重定向到其它网址.当80端口被占用无法同时使用两个Web服务的解决方案,使得IIS和Apache Tomcat 共存 环境 WindowServer 2008 IIS7 Apache ...

  4. IIS反向代理解决Web前端跨域

    1.1 IIS7反向代理解决跨域问题IIS的版本必须是IIS7及其以上,否则没有反向代理功能:按照以下步骤来配置IIS,以实现反向代理: 1.2 配置步骤1. 下载安装ARR(Application ...

  5. IIS 反向代理 golang web开发

    一. beego 开发编译 bee run 后会编译成 exe文件 编译生成后发布文件结构为 cmd 运行 cd D:/run beegoDemo.exe run 默认配置端口 不能为 80 跟iis ...

  6. Nginx插件之openresty反向代理和日志滚动配置案例

    Nginx插件之openresty反向代理和日志滚动配置案例 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.openresty介绍 1>.Nginx介绍 Nginx是一款 ...

  7. Nginx反向代理实现负载均衡配置图解

    Nginx反向代理实现负载均衡配置图解 [导读] 负载均衡配置是超大型机器需要考虑的一些问题,同时也是数据安全的一种做法,下面我来介绍在nginx中反向代理 负载均衡配置图解,大家可参考本文章来操作. ...

  8. IIS反向代理配置教程(最终完整版本)

    IIS代理配置教程 插件下载:https://download.csdn.net/download/song_yan_/11996489 一.安装反向代理插件 1.rewrite插件安装 (1) 双击 ...

  9. docker 安装 wordpress,通过nginx反向代理,绑定域名,配置https

    假设docker已经安装好了,如果没有安装,可以照着 5分钟安装docker教程. 一. 下载镜像 默认下载最新版本,如果想指定对应版本,可以用冒号后加版本,像这样mysql:5.7: docker ...

随机推荐

  1. Java实习二

    链表(java实现) Link.java public class Link{ private Node first; public Link(){ this.first = null; } //判断 ...

  2. java开发设计六大基本原则

    1.遵循单一职责原则 定义:不要存在多于一个导致类变更的原因.通俗的说,即一个类只负责一项职责.一个类只专注于做一件事: 高内聚,低耦合: 实例: 普通的手表如果有一个指针坏了,那么手表将不再转动,而 ...

  3. 一切从Trade开始(转)

    taobao.trades.sold.get 取得交易列表 从店铺取得时间 taobao.shop.get (nick,field)shop.created 循环读取从开店时间到当前时间的所有交易 t ...

  4. NoSQL&&Redis介绍

    再说Redis之前,想先说一下NoSQL.在最早的单机时代,随着数据的增加一台机器可能放不下了.同时索引占用的内存空间也会越来越大.对请求的读写操作影响很大.于是就在数据库之前增加了一层保护层 — 缓 ...

  5. cassandra 之 在spark-shell 中使用 spark cassandra connector 完整案例

    1.cassandra 准备 启动cqlsh, CQLSH_HOST=172.16.163.131 bin/cqlsh cqlsh>CREATE KEYSPACE productlogs WIT ...

  6. 实例化后的list的默认值

    public class List默认值 { public static void main(String[] args) { List<String> arrayList = new A ...

  7. Ubuntu 14.04配置虚拟主机

    虚拟主机常用于在一个单独的IP地址上提供多个域名的网站服务.如果有人想在单个VPS的单个IP地址运行多个网站,这是非常有用的.在这个教程中,让我告诉你如何设置在Ubuntu 14.04 LTS的Apa ...

  8. iometer测试磁盘IO性能

    of Outstanding I/Os per target – 被选中worker的每个磁盘一次所允许的未处理的异步I/O的数量.模拟测试多个应用向 IO 请求读写,默认是 1.通常不用这个参数,除 ...

  9. C++(三十三) — 全局函数、成员函数的区别

    区别: (1)全局函数的参数个数,比局部函数要多一个: (2)二者都可,返回元素.返回引用. class test { public: test(int a, int b) { this->a ...

  10. Codeforces Round #378 (Div. 2)F - Drivers Dissatisfaction GNU

    http://codeforces.com/contest/733/problem/F 题意:给你一些城市和一些路,每条路有不满意程度和每减少一点不满意程度的花费,给出最大花费,要求找出花费小于s的最 ...