IIS 反向代理功能,需安装反代模块(ARR)

0 条回复
5 次浏览

我不喜欢用 Linux,还是喜欢有界面的 Windows Server,平常用的都是微软全家桶,毕竟确实方便,平常用 IIS,只是反代的时候不方便,还要装个 nginx,但是 nginx 又要写配置文件,对我来说不是很 OK,所以看了看 IIS 的反代,感觉也不简单,但是好歹能用。之前发了一篇用 ECS 内网访问 OSS 的推文(《99 元服务器+20G SCU=?》 https://mp.weixin.qq.com/s/MkvFG0qNJzuZqSEFFsIlZA ),关于反代的部分没有说,今天补上,附带两种程序的配置方案。

使用 IIS
第一种就是我现在用的方案,IIS 做反代,IIS 其他组件都可以通过服务器控制器来安装,但是涉及 URL Rewrite 和反代的模块需要自行安装。URL Rewrite 下载地址: https://www.iis.net/downloads/microsoft/url-rewrite
反代模块(ARR)下载地址: https://iis-umbraco.azurewebsites.net/downloads/microsoft/application-request-routing
直接下载安装即可,然后打开 IIS,进行配置。
image
双击 URL 重写
image
添加规则
image
选择反向代理
image
这里正常应该填请求来的地址,我随便填的
image
然后编辑规则,这里的模式就是 nginx 的 location
image
可以测试自己的规则(比 nginx 好用,直接就知道规则是什么样的)
向后引用就相当于值的变量名,下面会用到
这里我写的规则是正则表达式,这里的规则和 alist 配置有关
image
下面操作类型选重写,重写 URL 为 OSS 的三级域名(内网的),带 internal 的地址就是内网地址,路径后面写上上面的向后引用({R:1})
然后配置 AList
image
为什么下载代理 URL 后面没有 aliyun-oss?这是因为 AList 会把挂载路径拼接上去,所以这里只填了一半。实际是这里的下载代理是要用 AList 的代理程序,我这里借用了一下。
image
可以看到现在的访问地址是命中了反代规则的,我们可以查日志确认
image
通过日志可以看到,请求走了内网,来源和请求地址以及对象都是正确的
下面是反代 AList,将 5244 反代到 80 端口。
image
转发规则
image
重写地址
这样访问 AList 就不需要用 5244 端口了。

nginx 见原文:《只会用 IIS,又要反代怎么办?》 https://mp.weixin.qq.com/s/bdCa0Ma5m6vFX_HfQjXehg

发表一个评论

R保持