You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过SSH隧道实现本地系统服务的外部HTTPS访问?

方案说明

两种实现方式都可以达成通过https://你的域名(域名需解析到VPS公网IP)访问本地服务的目标,具体差异和操作如下:


方式1:沿用你现有直接反向隧道绑定443端口的逻辑,证书部署在本地设备

  • 操作流程:
    1. 先将你要使用的访问域名解析到VPS的公网IP
    2. 在本地设备上申请对应域名的Letsencrypt证书,推荐用DNS验证模式,无需本地暴露公网端口
    3. 编辑本地Apache的ssl.conf配置,启用8443端口的SSL监听,将申请到的证书、私钥、证书链路径对应填入配置并重启Apache
    4. 本地执行你计划的隧道命令即可生效:ssh -R 443:127.0.0.1:8443 root@VPS
  • 注意事项:需要确保VPS的443端口没有被其他服务(比如Nginx、自带的Apache)占用,否则隧道会绑定失败
  • 特点:VPS仅做流量透传不需要额外配置,缺点是证书的申请、续期都要在本地操作,如果你经常更换作为服务端的移动设备会比较繁琐

方式2(更推荐):证书部署在VPS上,VPS加一层反向代理

  • 操作流程:
    1. 先将你要使用的访问域名解析到VPS的公网IP
    2. 在VPS上安装Nginx,使用Letsencrypt的certbot工具一键申请对应域名的证书,certbot会自动完成Nginx的SSL配置,且默认开启自动续期
    3. 调整本地的反向隧道命令,不需要绑定443端口,改成绑定本地Web端口到VPS本地的空闲端口即可:ssh -R 10080:127.0.0.1:8080 root@VPS
    4. 修改VPS上的Nginx配置,将443端口的请求反向代理到127.0.0.1:10080,重载Nginx配置即可生效
  • 特点:本地Apache只需要跑普通HTTP服务,不需要做任何SSL相关配置,证书的全生命周期管理都在VPS上完成,更换本地服务设备不需要改动证书配置,后续要加限流、缓存、多站点映射等功能也可以直接在VPS上配置,扩展性更强

内容的提问来源于stack exchange,提问作者php and js

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.13 08:36:04