我有公网 IP89.103.xxx.yyy,然后路由器和家庭网络192.168.1.zz 我的路由器设置为端口转发8056在 IP 地址上192.168.1.5(我的电脑),其中运行着 Apache。Apache listen 设置为:
Listen 127.0.0.1:80
Listen 192.168.1.5:8056
当我尝试:
Listen 89.103.xxx.yyy:8056
我收到消息“apache 意外结束”(我正在使用适用于 Windows 的 easyphp)。
添加:当我尝试通过浏览器访问 89.103.xxx.yyy 时,它会提示路由器请求授权访问路由器网页设置。当我尝试 89.103.xxx.yyy:8056 时,浏览器显示连接超时 =(
答案1
您需要配置 apache 以监听 192.168.1.5:80(在 192.168.1.5 上,请求将到达端口 80,而不是 8056)。还要确保路由器上的端口 8056 转发到 192.168.1.5 端口 80
答案2
你不需要更改 Apache 正在监听的端口!在我的例子中,Apache 通常在端口 80 上监听。
你必须:
配置所有路由器和调制解调器(某些调制解调器有内置路由器,例如 DLINK)以接收一些不寻常的港口将“8081”改为“8082”,并将这些请求重定向到运行 Apache 服务器的 IP 地址 80 端口。避免使用 8080、8081 或更高版本。
将主机(两个网络)放入 DMZ 中(主机位于“非军事区”,换句话说,不受政策约束)
就我的情况来说,有2个网络:
- 10.1.1.1(调制解调器)
- 192.168.1.1(无线路由器)
例子:
假设一个调制解调器路由器,其网络为10.1.1.1
,Apache PC 为 AT 10.1.1.5
。您必须配置 NAT - 虚拟服务器访问10.1.1.1
/ NAT / 虚拟服务器:
PortStart......PortEnd......type....... dest IP........ dest PORT
...8081..........8082........TCP...... 10.1.1.5............... 80
DMZ 主机:10.1.1.5
← Apache PC 网络使用的 UP。要获取它,请ipconfig
在 cmd 提示符下运行。
对于辅助路由器(无线),其网络为192.168.1.1
:DMZ 主机:192.168.1.10 ← 无线路由器子网中运行 Apache 的 PC 的 IP。
要预览网站,请勿使用家庭无线网络或连接到家庭网络的计算机,因为您将看到的只是调制解调器的路由器页面。您必须从 外部家庭网络(例如:使用移动 GSM 互联网,绝不使用 WiFi)。
访问该网站的方案,假设当前的互联网 IP 是199.123.4.75
:
http://199.123.4.75:8081
或者http://199.123.4.75:8081/mywebsite
http://199.123.4.75:8082
或者http://199.123.4.75:8082/mywebsite
请记住,Apache 仍在监听端口 80。路由器才是真正的魔力所在,尤其是第一个重定向端口的路由器(调制解调器)。NAT – 虚拟服务器。DMZ 也是必不可少的。对于两种路由器配置来说都是如此。
答案3
关闭“WAN 上的 Web 服务器访问”选项。
将端口转发“范围”更改为 80。
将 apache 改回“Listen 192.168.1.5:80”