You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置IIS实现网站路径到本地游戏服务器的反向代理

解决IIS+ARR反向代理多路径映射问题

针对你遇到的IIS反向代理路径不匹配、重定向循环及FRT失效问题,以下是分步解决方案:

1. 修正URL重写规则(核心解决循环与404)

现有规则未处理反向代理的内部循环触发,且路径匹配逻辑需要调整:

  • 针对每个游戏服务器的规则,按以下配置修改:
    1. 规则名称:Proxy_PageOne(自定义命名)
    2. 匹配URL:
      • 选择正则表达式,模式设为^page_one(.*)(注意不要加开头的/,IIS匹配基于网站根路径)
      • 勾选忽略大小写
    3. 条件:添加一条条件,避免内部代理请求重复触发规则:
      • 条件输入:{HTTP_X_FORWARDED_HOST}
      • 检查输入字符串:不匹配
      • 模式:.*
    4. 重写URL:设为http://localhost:11111{R:1}(如果原路径需要保留/,则写为http://localhost:11111/{R:1},根据游戏服务器的Web路径要求调整)
    5. 其他设置:
      • 勾选停止处理后续规则
      • 服务器变量:添加HTTP_X_FORWARDED_PREFIX,值设为/page_one(让游戏服务器识别自身的URL前缀,避免生成错误的跳转链接)
  • 对page_two规则重复上述配置,替换端口为22222,前缀为/page_two

2. 配置ARR代理关键参数

打开IIS管理器→服务器节点→Application Request Routing Cache→Server Proxy Settings,确保勾选以下选项:

  • Enable proxy(已启用,但需确认)
  • Reverse rewrite host in response headers(关键:自动替换游戏服务器返回的Location头,将localhost:11111替换为website.com/page_one,彻底解决重定向循环)
  • Preserve client IP in X-Forwarded-For header(可选,便于日志排查)
  • Enable SSL offloading(因IIS处理443端口的SSL,代理到本地http端口需开启此项)

3. 修复FRT(Failed Request Tracing)失效问题

  • 检查%SystemDrive%\inetpub\logs\FailedReqLogFiles目录权限,确保网站的应用池身份(默认是IIS AppPool\DefaultAppPool)拥有读写权限
  • 重新添加FRT规则:
    1. 网站节点→Failed Request Tracing Rules→Add...
    2. 勾选All content,状态码输入404,500
    3. 勾选Request tracing is enabled,完成添加
  • 触发错误请求后,即可在上述目录下生成追踪日志,查看规则是否被正确匹配

4. 放弃虚拟目录方案

游戏服务器的Web依赖自身进程提供动态内容,IIS直接挂载目录会缺失进程上下文,必然导致500.19(配置文件权限/格式错误)及静态资源404问题,专注反向代理方案即可。

5. 验证与重启

  • 执行命令行iisreset重启IIS服务
  • 访问https://website.com/page_one,检查是否正常转发到对应游戏服务器的Web界面
  • 查看\inetpub\logs\LogFiles\W3SVC1日志,若规则生效,会出现REWRITE_MODULE相关记录,标记请求已被代理

内容的提问来源于stack exchange,提问作者Blue

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.17 02:47:24