使用IIS进行反向代理的过程

昨天在域名解析时直接使用隐性URL遇到了问题,主要是解析为url后,子目录无法调用,因为隐性url就是使用了iframe把目标网页嵌入了而已。 在网上搜索,发现大量的iis网站,可以使用主机头来区分。可是我的ECS上面有IIS、NodeJS和Python等各种不同的网站,不都是IIS网站,怎么办?

1

搞了半天想出个关键词,“iis apache”,发现有两者共存的文章,再找其中提到的代理方式,一搜果然有内容。大多数都是使用nginx、apache或tomcat做代理的。遂决定使用nginx。就下载下来,接着在网上搜它的配置教程,慢慢发现nginx的windows版本并不比iis强,还不如直接使用iis来做。就又找了IIS做代理的教程。

这方面教程很多,内容大同小异,可惜的是我按着做没有成功的。可能是Server 2012 R2上面的IIS8.5跟以前的版本有什么不同吧。

半天无果。后来看到IIS上面不是新添加了个Server Farms图标嘛,看看是不是跟它有关。就在网上搜“iis 反向代理 server farms”,结果还真找到一篇使用IIS ARR实现Lync反向代理 跟着里面的方法做,还是不行。又折腾也半天,已经过去3个多小时了。发现人家教程里面有个IIS的默认网站Default Web Site,而且绑定端口是80。我的当时已经被删除了,又给它恢复了一下。再试就可以了。

2

最后总结一下整个过程。


在域名解析控制台将子域名都指向主机IP

3

IIS需要安装arp插件,下载地址。安装后IIS显示如下,多出三项东西

4

双击Application Requet Routing Cache,在右侧找到Server Proxy Setting

5

在里面选上Enable Proxy,应用

6

在左侧Server Farms右击,选择Create Server Farms

7

填写名称,下一步

8

填写要代理的主机地址,advanced settings中,填写要代理的http端口httpPort,https端口httpsPort,完成

9

依次创建几个Server Farms,用于代理不同的服务

10

返回主页中双击URL重写

11

由于这里未用到https,所以把其中的SSL结束的删除

12

双击某一项打开详细信息。使用正则表达式进行匹配,模式为^(.*)

13

在下面条件中,添加。条件输入{HTTP_HOST},模式为 ^外部使用的服务地址(这里为域名)$,确定 向下走,在操作中,选择操作类型为重写,重写URL为http://代理的服务地址:代理的服务端口/{R:1},应用

14

按相同方法配置刚才创建的其他规则,主要配置工作结束。

15

在浏览器使用已配置的域名打开网站

16

以下为一些备选的配置

17

选择某一个Server Farm,选择Caching,配置是否启用磁盘缓存

18

选择Proxy,配置代理请求超时时间

19

选择Routing Rules,配置是否启用SSL卸载

20


Share Tweet Send
0 Comments
Loading...

Related Articles

You've successfully subscribed to 隔窗听雨
Great! Next, complete checkout for full access to 隔窗听雨
Welcome back! You've successfully signed in
Success! Your account is fully activated, you now have access to all content.
豫ICP备19045256号-1