续期LetsEncrypt SSL证书需80端口,能否通过IIS服务器转发对应域名请求?
完全可以,通过在IIS 7上配置反向代理规则实现80端口的域名级分发,无需修改路由器端口转发规则,具体操作如下:
前置准备
- 首先在IIS 7服务器上安装「应用程序请求路由(ARR)」和「URL重写」两个模块,这是IIS实现反向代理的必备组件,下载对应IIS7版本的安装包本地安装完成后,重启IIS服务即可
- 确认Lubuntu服务器已配置局域网静态IP,且80端口对IIS服务器的IP开放无防火墙拦截,假设Lubuntu的内网IP为
192.168.1.100
配置步骤
1. 启用ARR代理功能
- 打开IIS管理器,点击左侧连接面板的服务器根节点,找到「应用程序请求路由缓存」功能双击进入
- 点击右侧操作面板的「服务器代理设置」,勾选「启用代理」,其余参数保持默认,点击应用保存配置
2. 配置域名匹配的转发规则
- 回到IIS管理器根节点(也可选择具体站点配置),找到「URL重写」功能双击进入
- 点击右侧「添加规则」,选择「空白规则」按以下参数配置:
- 名称:可自定义,比如
转发Lubuntu站点请求 - 匹配URL:请求的URL选择「与模式匹配」,使用「通配符」,模式填写
* - 条件:点击添加,条件输入选择
{HTTP_HOST},模式填写Lubuntu站点对应的域名,多个域名可用|分隔,例如lubuntu.example.com|www.lubuntu.example.com - 操作:操作类型选择「重写」,重写URL填写
http://192.168.1.100/{R:0}(替换为你实际的Lubuntu内网IP),勾选「追加查询字符串」
- 名称:可自定义,比如
- 点击应用保存规则,重启IIS服务后生效
Certbot续期适配说明
上述配置已经默认将所有匹配域名的80端口请求转发到Lubuntu,包含Let's Encrypt验证所需的/.well-known/acme-challenge/*路径请求,certbot运行常规续期命令即可完成自动续期,无需再调整路由器端口转发规则。如果IIS本身托管的站点也需要申请Let's Encrypt证书,只需在转发规则中增加对应域名的条件区分即可。
内容的提问来源于stack exchange,提问作者Ian M
相关产品推荐
相关产品推荐

