VPS常用命令
新装VPS必用命令
root用户密码登录
root用户密钥登录
VPS重装系统脚本
Oracle DD系统后获取ipv6地址
V2ray安装
x-ui安装
PVE实用命令
speedtest-cli
OpenWrt接口配置示例
利用Cloudflare Tunnel实现内网穿透
ubuntu通过netplan设置静态ip
PVE温度显示以及去除弹窗脚本
Caddy示例配置文件
hysteria2的搭建与使用
Clash Meta配置模板
VPS流量监控脚本
rclone完全备份脚本
Oracle Cloud安装Alpine Linux
Caddy-dns的配置与使用
sing-box安装与配置
通过 CF Warp 为 IPv4/6 Only VPS 添加 IPv6/4 支持
流量转发脚本
ssh配置文件
rsync传输文件
阿里云盘CLi安装
Linux 设置IPv4优先
流量监控脚本
Openwrt中使用ddns-go加Caddy实现域名访问
NAT VPS 使用 Caddy 为内部服务提供 HTTPS 访问
Docker 多平台镜像构建与推送教程(arm64 主机示例)
本文档使用 MrDoc 发布
-
+
首页
NAT VPS 使用 Caddy 为内部服务提供 HTTPS 访问
--- # NAT VPS 使用 Caddy 为内部服务提供 HTTPS 访问 适用于只有 *端口映射(端口转发)* 的 NAT VPS,无公网 IP 但可通过服务商后台映射端口访问。 --- ## 1. 创建自签证书 由于 NAT VPS 无法通过 ACME/Let's Encrypt 自动签证,只能手动生成自签名证书。 ```bash # 创建证书目录 sudo mkdir -p /etc/caddy/certs # 生成自签名证书(有效期 36500 天) sudo openssl req -x509 -newkey rsa:4096 \ -keyout /etc/caddy/certs/key.pem \ -out /etc/caddy/certs/cert.pem \ -days 36500 -nodes \ -subj "/CN=localhost" # 设置权限 sudo chown -R caddy:caddy /etc/caddy/certs sudo chmod 600 /etc/caddy/certs/key.pem ``` --- ## 2. 最简 Caddyfile(单服务) Caddy 无法自动签证时必须关闭 auto_https: ```caddyfile { auto_https off } :443 { tls /etc/caddy/certs/cert.pem /etc/caddy/certs/key.pem reverse_proxy localhost:3000 # respond "Hello from Caddy with manual cert!" 200 } ``` --- ## 3. 多端口多服务配置(如果服务商允许映射多个端口) 假设 VPS 内部有多个 HTTPS 服务,需要对外分别映射不同端口,例如: * 443 → 服务1 (本地 3000) * 8443 → 服务2 (本地 8080) * 9443 → 服务3 (本地 9000) 示例配置如下: ```caddyfile { auto_https off } # 服务1:内部 443 映射到外部某端口 :443 { tls /etc/caddy/certs/cert.pem /etc/caddy/certs/key.pem reverse_proxy localhost:3000 } # 服务2:8443 → 8080 :8443 { tls /etc/caddy/certs/cert.pem /etc/caddy/certs/key.pem reverse_proxy localhost:8080 } # 服务3:9443 → 9000 :9443 { tls /etc/caddy/certs/cert.pem /etc/caddy/certs/key.pem reverse_proxy localhost:9000 } ``` --- ## 4. 服务商后台端口映射示例 在 NAT VPS 管理后台进行端口转发(已钨云为例): | 外部访问地址 | 转发到内部 | 说明 | | --------------------------- | ------ | --- | | `hz.tungstencloud.cn:10247` | `443` | 服务1 | | `hz.tungstencloud.cn:10248` | `8443` | 服务2 | | `hz.tungstencloud.cn:10249` | `9443` | 服务3 | --- ## 5. 浏览器访问 例如: * `https://hz.tungstencloud.cn:10247` → 访问内部 `localhost:3000` * `https://hz.tungstencloud.cn:10248` → 访问内部 `localhost:8080` * `https://hz.tungstencloud.cn:10249` → 访问内部 `localhost:9000` > ⚠️ **注意**:因为使用自签证书,首次访问时浏览器会提示“不安全”,你需要手动信任证书。 ---
koalalove
2025年12月3日 15:27
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码