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

无公网IP且路由器未直连互联网时,如何将虚拟机中的Apache服务器设置为公网可访问?

无公网IP且路由器未直连互联网时,如何将虚拟机中的Apache服务器设置为公网可访问?

兄弟,你的情况我太懂了——处于二级NAT环境(路由器套在ISP的内网里,没独立公网IP),还碰上个动态公网IP的坑,但完全可以把你的Apache服务器弄成公网可访问的!下面给你两种实操性拉满的方法,一个适合长期稳定用,一个适合临时测试:

方法1:用Frp反向代理(适合长期稳定访问)

这个方法需要你租一台带公网IP的轻量VPS(不用贵的,1核1G的每月几块钱就够,用来当流量中转的“跳板”),步骤如下:

  • 第一步:在VPS上配置Frp服务端(frps)
    先下载对应系统的Frp压缩包(比如VPS是Ubuntu就选amd64版本),解压后找到frps.ini文件,修改成下面这样:
    [common]
    bind_port = 7000  # Frp服务端监听的端口,后面要在VPS防火墙开这个端口
    vhost_http_port = 8080  # 用来转发Apache HTTP请求的端口
    
    然后启动服务端:./frps -c ./frps.ini,要是想让它后台一直跑,就用nohup ./frps -c ./frps.ini &
    别忘了在VPS的防火墙里开放7000和8080端口:
    ufw allow 7000/tcp
    ufw allow 8080/tcp
    
  • 第二步:在你的Ubuntu主机(或直接在虚拟机里,推荐主机,省得虚拟机网络麻烦)配置Frp客户端(frpc)
    同样下载对应版本的Frp包,解压后修改frpc.ini:
    [common]
    server_addr = 你的VPS公网IP  # 填你租的VPS的实际公网IP
    server_port = 7000  # 和服务端的bind_port保持一致
    
    [apache_proxy]
    type = http
    local_ip = 你的虚拟机内网IP  # 虚拟机里用`ip a`就能查到,比如192.168.1.105
    local_port = 80  # Apache默认的监听端口
    custom_domains = 你的VPS公网IP  # 有域名的话可以填域名,没有就用VPS IP
    
    启动客户端:./frpc -c ./frpc.ini,后台运行就加nohup ./frpc -c ./frpc.ini &
  • 第三步:测试访问
    找个手机用流量(别连你的Wi-Fi),打开浏览器输入http://你的VPS公网IP:8080,就能看到你的Apache默认页面了!

方法2:用Ngrok(适合临时快速测试)

要是你只是想临时测试一下,不想租VPS,Ngrok绝对是首选,操作超简单:

  • 第一步:在你的主机或虚拟机里下载Ngrok压缩包,解压后直接用
  • 第二步:去Ngrok官网注册个免费账号,拿到你的专属authtoken(不用记,复制下来就行)
  • 第三步:在终端里输入命令把authtoken配置好:./ngrok config add-authtoken 你的authtoken
  • 第四步:启动转发,把公网流量转到你的虚拟机Apache:./ngrok http 你的虚拟机内网IP:80
    启动后终端会跳出一个类似http://abc123.ngrok.io的临时域名,用手机流量访问这个域名,直接就能看到你的Apache页面!
    注意:免费版Ngrok的域名每次启动都会变,还有流量限制,所以只适合临时测试用。

一些必踩的坑(提前避坑!)

  • 虚拟机的网络一定要设成桥接模式,这样虚拟机能拿到和主机同网段的内网IP,转发才不会出问题
  • 检查虚拟机和主机的防火墙,必须开放80端口:虚拟机里执行ufw allow 80/tcp,主机如果开了防火墙也要允许对应流量
  • 要是用Frp长期用,最好把服务端和客户端都设成开机自启,比如写个systemd服务文件,省得每次重启都要手动启动

备注:内容来源于stack exchange,提问作者Daigaku no Baku

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 09:25:34