IIS的ProxyPassReverseCokieDomain等效项
我使用IIS和URL重写作为reverseProxy。我的实际Web应用程序托管在一个无法直接访问internet的服务器上 在重写规则中,我将反向代理的主机名替换为本地IP地址。这个很好用 但是,我使用的应用程序提供下载。一旦客户端发出下载请求,服务器端进程就会重定向到实际的下载文件 这就是我的问题所在。会话cookie(JSSessionID)似乎没有在反向代理和本地服务器之间正确共享。我没有被重定向到下载文件,而是从本地服务器收到一条401“未授权”消息 我在这里发现了一个类似的问题。 用户使用Apache作为反向代理,并使用IIS的ProxyPassReverseCokieDomain等效项,iis,url-rewriting,session-cookies,reverse-proxy,Iis,Url Rewriting,Session Cookies,Reverse Proxy,我使用IIS和URL重写作为reverseProxy。我的实际Web应用程序托管在一个无法直接访问internet的服务器上 在重写规则中,我将反向代理的主机名替换为本地IP地址。这个很好用 但是,我使用的应用程序提供下载。一旦客户端发出下载请求,服务器端进程就会重定向到实际的下载文件 这就是我的问题所在。会话cookie(JSSessionID)似乎没有在反向代理和本地服务器之间正确共享。我没有被重定向到下载文件,而是从本地服务器收到一条401“未授权”消息 我在这里发现了一个类似的问题。 用
ProxyPassReverseCookieDomain
重写cookie域名
IIS中是否有类似的设置?
我尝试了下面的越界规则,但这不起作用
<preCondition name="contains-domain-set-cookie-header">
<add input="{RESPONSE_Set_Cookie}" pattern=".*?domain=MYDOMAIN*?" />
</preCondition>
<rule name="rewrite cookie domain" preCondition="contains-domain-cookie-header">
<match serverVariable="RESPONSE_Set_Cookie" pattern="^(.*?domain=)MYDOMAIN(.*?)$" negate="false" />
<action type="Rewrite" value="{R:1}MYLOCALIP{R:2}" />
</rule>
还有其他的方法来处理这个问题吗
谢谢
托马斯找到了答案
要保留主机头,请从命令行运行此命令以更新Machine/webroot/apphost config
%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/proxy -preserveHostHeader:true /commit:apphost
可能重复的