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

PhpStorm远程开发:如何访问远程机器上的HTTP网站?

解决远程Docker内部站点访问问题(无需VNC)

方案1:本地SSH端口转发+本地hosts映射

这是单站点访问最直接的方式:

  • 在本地终端执行SSH端口转发命令,将远程Docker容器的Web端口映射到本地:
    # 把远程内部的172.25.0.3:80转发到本地8080端口
    ssh -L 8080:172.25.0.3:80 你的远程用户名@远程主机IP
    
    若想直接用80端口(无需加端口号访问),需用sudo提升权限:
    sudo ssh -L 80:172.25.0.3:80 你的远程用户名@远程主机IP
    
  • 修改本地hosts文件,将myapp.demo映射到本地回环地址:
    • Linux/macOS:编辑/etc/hosts,添加一行:127.0.0.1 myapp.demo
    • Windows:编辑C:\Windows\System32\drivers\etc\hosts(需管理员权限),添加同样内容
  • 现在直接在本地浏览器访问http://myapp.demo:8080(用80端口则直接访问http://myapp.demo)即可。

方案2:利用PhpStorm自带的SSH隧道

既然已配置好PhpStorm远程开发环境,可直接在IDE内配置端口转发,无需手动执行SSH命令:

  1. 打开PhpStorm的File > Settings(Windows/Linux)或PhpStorm > Settings(Mac)
  2. 导航到Tools > SSH Configurations
  3. 选中正在使用的远程主机配置,点击右侧的Edit按钮
  4. 在弹出窗口切换到Port Forwarding标签页
  5. 点击+添加转发规则:
    • Local port:填写本地要使用的端口(比如8080)
    • Host:填写远程Docker容器的IP172.25.0.3
    • Port:填写容器的Web端口(比如80)
  6. 保存配置,连接远程开发环境时隧道会自动建立
  7. 同方案1修改本地hosts文件,之后通过http://myapp.demo:8080访问站点

方案3:动态SOCKS代理(多站点场景)

若远程有多个内部站点需访问,用动态SOCKS代理更高效:

  • 在本地终端执行命令建立动态转发:
    ssh -D 1080 你的远程用户名@远程主机IP
    
  • 配置浏览器使用SOCKS5代理:
    • 代理地址:localhost,端口:1080
    • 开启「远程DNS解析」(部分浏览器叫「SOCKS v5代理的远程DNS」),让浏览器通过远程主机解析myapp.demo域名
  • 无需修改本地hosts(远程主机的/etc/hosts已有映射),直接访问http://myapp.demo即可

关于X11转发报错的说明

你遇到的X11 connection rejected because of wrong authentication错误,是X11转发的认证机制问题。需本地安装X服务器(比如Windows的Xming、Mac的XQuartz),连接时用ssh -Y(信任X11转发)而非-X,同时确保远程主机已安装xauth工具。但这种方式远不如SSH隧道高效,完全没必要用X11转发访问网页。


内容的提问来源于stack exchange,提问作者Developer

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.07 19:30:54