欢迎光临 Rick 's BLOG
日志首页  | C# .Net编程  | 原创作品  | 生活点滴  | C\C++相关  | 多媒体相关※ERMP  | VB相关  | 其它运维与编程  |  留言簿
Jurassic [C# .Net JavaScript引擎]限制脚本执行时间,防止死循环 在php中实现安全的用户登录、Cookie中保存登录状态(remember me)
未知  IIS中如何实现nginx那样的反向代理功能
[ 发布日期:12个月前 (12-02) ]   [ 来自:本站原创 ] [分类:其它运维与编程]
nginx是一个功能强大的web服务器软件,很容易配置反向代理,url重写等操作。
在IIS中是否能实现这样的功能呢?如果是之前,可能需要借助第三方的扩展组件才能实现。
现在微软也自己提供了官方的扩展插件了。

首先我们需要安装ARR(应用请求路由组件)和iis urlrewrite(url重写组件)。

url重写组件(支持 IIS 7, IIS 7.5, IIS 8, IIS 8.5, IIS 10):
https://www.iis.net/downloads/microsoft/url-rewrite

应用请求路由组件:Application Request Routing
https://www.iis.net/downloads/microsoft/application-request-routing

从微软官方下载安装即可。

再然后是规则配置了。

首先我们配置 url重写,和nginx的步骤差不多,直接将匹配的url重写为新的(含 完整域名的)目标url即可。
按此在新窗口打开图片

ARR在这里提供的功能类似于nginx中的 upstream。
只需要在IIS配置管理器中找到ARR组件,并打开设置开启反向代理功能即可。
按此在新窗口打开图片
按此在新窗口打开图片

url重写后的目标uri资源会被自动读取并返回给客户端。


规则例子:
<rewrite>
    <rules>
        <rule name="Reverse Proxy to webmail" stopProcessing="true">
            <match url="^webmail/(.*)" />
            <action type="Rewrite" url="http://localhost:8081/{R:1}" />
        </rule>
        <rule name="Reverse Proxy to payroll" stopProcessing="true">
            <match url="^payroll/(.*)" />
            <action type="Rewrite" url="http://localhost:8082/{R:1}" />
        </rule>
    </rules>
</rewrite>


引用通告地址 (0):
复制引用地址https://www.rickw.cn/trackback/284
复制引用地址https://www.rickw.cn/trackback/284/GBK
[ 分类:其它运维与编程  | 查看:597 ]

暂时没有评论,快来发表一个评论吧。
发表评论
作者:   用户:[访客] 
评论:

表  情
禁止表情 | 禁止UBB | 禁止图片 | 识别链接
对不起,你没有权限上传附件!
验证:
 
PoweredBy R-Blog V1.00 © 2004-2024 WWW.RICKW.CN, Processed in second(s) , 7 queries    京ICP备17058477号-5