使用 Isape_Rewrite3 在 IIS 6 上配置反向代理

Configuring a reverse proxy on IIS 6 with Isape_Rewrite3

我在 Windows Server 2003 上 运行 IIS6。

我正在尝试在我的一个网站上设置一个需要反向代理的工具。

据我了解,我需要捕获指向 my.domain.com/toolname/subfolder/javascript.js 的脚本引用以从 library.provider.com/javascript.js.

中提取文件

工具提供者给出的例子是,

"In Apache2, add this to your <VirtualHost> entry for the site:"

ProxyPass /subfolder/ http://library.provider.com/
ProxyPassReverse /subfolder/ http://library.provider.com/

"In NGINX, add this to your server block for the site:"

location /subfolder/ {
    proxy_pass http://library.provider.com/;
}

我尝试了在 SO 问题中找到的示例,URL Rewrite of a subdirectory to a different domain using IIS,根据我的情况调整它:

RewriteCond Host: (.*)
RewriteRule ^/subfolder/$|^/subfolder/(.*) http://library.provider.com/ [P]

这似乎没有用... RewriteLog 看起来像这样:

... (2) init rewrite engine with requested uri /subfolder/javascript.js
... (1) Htaccess process request [drive]:[path]\httpd.conf
... (1) Htaccess process request [drive]:[path]\my.domain.com\.htaccess
... (3) applying pattern '^/subfolder/$|^/subfolder/(.*)' to uri 'subfolder/javascript.js'

我注意到最后一个条目中的 'uri' 字符串不包含前导正斜杠,但除此之外我很困惑。

我使用内置的 'RegEx Test' 工具测试了模式匹配,如果我通过了 /subfolder/javascript.js,我会得到预期的 http://library.provider.com/javascript.js

看来我真的很接近答案了,任何帮助将不胜感激。

请在您的 .htaccess 中尝试以下配置:

RewriteBase /
RewriteRule ^subfolder/(.*) http://library.provider.com/ [NC,P]