IIS 8.5-基于路径设置反向代理

时间:2019-03-06 14:35:55

标签: iis url-rewriting reverse-proxy iis-8.5

在nginx中,我能够将用户“代理”传递到另一台服务器。例如(为简洁起见,省略了一些详细信息):

server {
    listen 443 ssl;
    server_name 192.xxx.xx.xx;    
    root /var/www/...;
    location /api {
        proxy_pass https://localhost:8443;
    }
    location / {
        try_files $uri $uri/ /index.html;
    }
}

但是,如果尝试通过IIS管理器(URL重写->反向代理)添加类似的规则,则会收到错误消息“指定的主机名不正确”,因为在我的情况下它包含“ /” 。

在引用this SO question之后,我认为也许可以使用简单的“空白” URL重写规则来实现:

 <rule name="Reverse Proxy" stopProcessing="true">
                <match url="^test-rewrite" />
                <action type="Rewrite" url="http://localhost:8081" appendQueryString="false" />
            </rule>

但是,现在,它只是简单地重定向回“默认网站”。具体来说,在端口8081上运行的服务器(Tomcat服务器)包含逻辑,如果用户未经身份验证,该逻辑会将用户重定向到/ login路径。而不是将用户重定向到Java应用程序上的/ login,而是将其重定向回到“默认网站”上的/ login。

很抱歉这是一个愚蠢的问题,但是我对IIS不太了解,并且在nginx中该任务非常简单。

谢谢。

编辑:

为澄清起见,IIS托管的网站和Tomcat服务器都在同一台物理计算机上运行(这就是为什么我引用本地主机的原因)。

0 个答案:

没有答案