You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows Server IIS环境下Uptime Kuma无端口访问及SSL证书配置咨询

Windows Server IIS环境下Uptime Kuma无端口访问及SSL证书配置咨询

没问题,这两个需求都能实现,核心思路是用IIS做反向代理来解决端口冲突和证书复用的问题,我给你一步步拆解操作:

一、实现无端口访问(绑定到https://myserver.com)

你之前遇到的端口冲突问题,是因为直接让IIS和Uptime Kuma抢占同一个端口导致的。正确的做法是让IIS监听HTTPS默认端口443(也就是用户访问时不用加端口的原因),然后把请求反向转发到Uptime Kuma的1234端口,这样两个服务各用各的端口,互不冲突。

具体步骤:

  1. 安装IIS反向代理组件
    IIS默认没有反向代理功能,需要先安装两个组件:URL重写Application Request Routing (ARR)。你可以通过服务器管理器的「添加角色和功能」向导,在Web服务器的角色服务里找到这两个组件勾选安装;或者用微软Web平台安装器搜索下载安装。
  2. 配置反向代理规则
    • 打开IIS管理器,找到你要绑定myserver.com的站点(如果原网站已经用了这个域名的443端口,建议新建一个独立站点,或者用子域名比如status.myserver.com来区分)。
    • 右键站点 → 选择「URL重写」→ 右侧点击「添加规则」→ 选择「反向代理」。
    • 在目标框里输入Uptime Kuma的内部地址:http://localhost:1234(如果Uptime Kuma配置了HTTPS内部访问,也可以用https://localhost:1234,但本地转发用HTTP足够安全)。
    • 勾选「启用SSL重定向」(确保用户输入HTTP地址时自动跳转到HTTPS),然后保存规则。

二、复用现有Let's Encrypt证书

完全可以复用你网站的Let's Encrypt证书,而且这样就能解决之前证书无效的问题——之前的无效证书是Uptime Kuma自带的自签证书,现在用户访问的是IIS的443端口,IIS会用你绑定的合法Let's Encrypt证书,用户端看到的就是有效证书了。

操作步骤:

  1. 绑定证书到IIS站点
    在IIS管理器里找到目标站点,右键 → 「编辑绑定」→ 「添加」→ 类型选择「HTTPS」,端口填443,主机名填myserver.com(或你用的子域名),然后在SSL证书下拉框里选择你的Let's Encrypt证书,确定保存即可。
  2. 证书续期自动同步
    如果你用的是Win-acme、Certify The Web这类工具管理Let's Encrypt证书,续期时工具会自动更新IIS站点绑定的证书,不用手动操作,后续证书会一直保持有效。

额外注意事项

  • 确保Uptime Kuma允许来自localhost的访问(默认是允许的,但如果Uptime Kuma有IP白名单配置,记得把127.0.0.1加进去)。
  • 如果服务器有防火墙,要确保443端口是对外开放的(一般网站已经开了,不用额外操作),而1234端口只需要允许本地访问即可,不用对外暴露,更安全。

备注:内容来源于stack exchange,提问作者ErocM

火山引擎 最新活动