小编Chr*_*cke的帖子

设置 IIS 反向代理以保留主机标头

我有一个 IIS 服务器,它托管了许多站点和 API。这些站点包括 Confluence 和 Jira 实例。这些产品实际上运行自己的 Web 服务器,因此应用程序请求路由和 URL 重写模块被用于将传入请求反向代理到documents.example.com' and 'jira.example.com' tolocalhost:8080 andlocalhost:8090` - confluence 和 jira 实例正在运行的地方。

现在我正在尝试为一个小的简单存储服务器 (s3) api (minio) 设置反向代理——它托管在 localhost:9000 上——但 s3 协议要求主机头是其消息身份验证代码的一部分。

但是,当应用程序请求路由按照 URL 重写规则重新路由请求时,它还会重写主机标头以反映新的目标标头。

这可以通过设置禁用,system.webServer.proxy:preserveHostHeaders但只能在 ApplicationHost.config 中禁用,因为 ARR 运行服务器,而不是站点级别。

所以现在我有一个难题:

如果我设置了这个设置,那么在它们的 MAC 中使用主机头的 REST API 可以运行,但是 Confluence 和 Jira 作为它们支持的反向代理配置需要重写主机头。

作为参考,此设置可以保留主机标头

%windir%\system32\inetsrv\appcmd.exe set config -section:system.webServer/proxy -preserveHostHeader:true /commit:apphost
Run Code Online (Sandbox Code Playgroud)

iis reverse-proxy amazon-s3 arr

5
推荐指数
1
解决办法
4605
查看次数

标签 统计

amazon-s3 ×1

arr ×1

iis ×1

reverse-proxy ×1