如何配置ARR反向代理与URL Rewrite,将域名指向IIS Docker容器内网站?
用ARR反向代理+URL Rewrite把testvault.info指向Docker容器内网站的配置步骤
一、前置准备
- 确保Windows Server上的IIS已安装Application Request Routing (ARR)和URL Rewrite模块——没装的话,直接在IIS管理器的「管理模块」里添加,或者通过服务器管理器的角色功能安装即可
- 先验证本地服务器能正常访问Docker容器地址
192.168.10.1:250,用浏览器访问或ping测试都可以,确保网络连通 - 确认
testvault.info的域名解析已指向公网IP31.56.#.#,用nslookup工具检查解析是否生效
二、开启ARR反向代理功能
- 打开IIS管理器,选中服务器节点(不是具体网站),找到「Application Request Routing Cache」
- 右侧操作栏点击「Server Proxy Settings」
- 在弹出窗口勾选「Enable proxy」,其余保持默认设置,点击应用
三、配置URL Rewrite规则
- 在IIS中创建绑定
testvault.info的网站:物理路径选任意空文件夹即可(仅做反向代理,无需本地文件),绑定主机头填testvault.info,端口用80(HTTP)或443(HTTPS) - 进入该网站的「URL Rewrite」功能
- 右侧点击「Add Rule(s)」,选择「Reverse Proxy」模板,点击确定
- 在反向代理设置窗口:
- 输入框填写Docker容器地址:
192.168.10.1:250 - 若容器内网站用HTTPS,勾选「Enable SSL Offloading」;HTTP则直接填地址即可
- 点击确定,系统会自动生成对应的重写规则
- 输入框填写Docker容器地址:
- (HTTPS访问补充配置)
- 给
testvault.info网站绑定SSL证书(比如用Let's Encrypt免费证书) - 编辑自动生成的Rewrite规则,在「服务器变量」中添加
HTTP_X_FORWARDED_PROTO,值设为https,避免容器内网站识别错误的访问协议
- 给
四、验证配置
- 用外部网络访问
http://testvault.info或https://testvault.info,检查是否能正常打开Docker容器内的网站 - 若出现问题,查看IIS日志(默认路径
C:\inetpub\logs\LogFiles)或ARR日志,排查请求转发异常
内容的提问来源于stack exchange,提问作者sheik
相关产品推荐
相关产品推荐

