- 公司有固定 IP 但没有放行 80 和 443 端口, 我又想通过 ssl 域名访问来给同事远程登录。现在使用的是以下方法, Windows WSL 里面本地私有部署 8880:8880 端口->frp 内网穿透到阿里云 8880 端口-> 阿里云上部署 caddy(80 端口反代到 8880 且自动配置 ssl) 这样我可以通过不带端口域名来访问明道云服务。 这个方案能用,但有更好的方式吗?
- 因为内网穿透的原因,内网访问域名还是要去外网走一圈,所以公司内部访问域名就会有不必要的降速,手机上传图片会很卡, 能否内网下的域名访问直接去解析本地的 ip 和端口? 我本来想法是:在网关面板通过 DNS 反代将域名直接改到内网的 ip(但配不了端口), 但因为服务不在 80 端口,我本地还需要加一个 Caddy,把访问内网 ip 的 80,443 的流量代理到本地 8880,于是我想在 wsl 里在启动一个 caddy 容器,但是这时候显示 明道云的 sc 服务占用了 80 和 433,我的 caddy 容器无法监听 80 和 443. 这个问题是否存在,要怎么解决呢
请
登录后发表观点
一、由于公司固定 IP 环境下无法直接使用 443 端口,但又希望通过 HTTPS 默认 443 端口访问 HAP,因此中间增加一层代理其实是比较合理、也是比较常见的方案。
目前这种架构本质上就是:域名先解析到一台能够正常使用 443 端口的公网服务器,再由这台服务器反向代理到内网中的 HAP 服务端口。
二、关于你提到的“内网访问域名时,希望直接解析到内网服务器 IP”,这个实际上可以通过内网 DNS 来实现。
也就是:
- 内网环境下,使用公司内部 DNS;
- 在内部 DNS 中,将该域名解析劫持到 HAP 所在的内网 IP;
- 外网环境下,则依然解析到公网服务器 IP。
这样内网访问时就不会再绕公网一圈,上传图片、附件等场景的速度会明显提升。
三、另外,你提到 sc 服务占用了 80/443,这个默认情况下其实不太对。
正常情况下,无论是 sc 还是其他 HAP 服务,默认都不会直接占用宿主机的 80/443 端口。
你现在看到的 80/443 占用,更像是:
- 你在 WSL 里启动的其他服务占用了端口;
- 或者是 WSL 自身已有代理/转发进程在监听。
并不是部署 HAP 的服务器本身占用了这两个端口。
四、实际上,你完全可以直接在部署 HAP 的服务器上,再部署一个 Nginx / Caddy 之类的反向代理服务,让它统一监听 80/443,然后再反代到 HAP 的业务端口(例如 8880)。
整体架构会更清晰:
域名
→ Nginx/Caddy(80/443)
→ HAP(8880)
再配合内外网 DNS 分流,就能同时解决:
- HTTPS 默认端口访问;
- 内网访问绕公网;
- 上传速度慢;
- 域名统一访问。