我的 MacBook 上运行着一个 JBoss 服务器。我可以通过以下方式访问它:
https://localhost:8443/appname/login.do
我想通过我的外部 IP 地址访问它:
https://102.115.XXX.XXX:8443/appname/login.do
然而,我刚刚遇到页面超时的情况。
我已将 JBoss 设置更改如下:
独立文件
<interfaces>
<interface name="management">
<any-ipv4-address/>
</interface>
<interface name="public">
<any-ipv4-address/>
</interface>
</interfaces>
所以我猜测是我的路由器阻止了访问?
问题
我需要做哪些更改才能允许外部访问我的服务器?
更多信息:
我正在使用 TP-Link Archer 2 路由器 AC750。
我的内部 IP 地址:
我尝试将端口转发设置为接受 443 到 8443,但没有成功:
答案1
端口
您已将外部端口 443 转发至内部端口 8443
这意味着你需要从外部 连接
到 https://102.115.XXX.XXX:443/appname/login.do
https://102.115.XXX.XXX:8443/appname/login.do
路由器将把连接的内部部分的端口号更改为 8443。
端口转发对地址+端口进行操作,如下所示
+--------+
|External|
|Device |
+--------+
| XXX.XXX.XXX.XXX:mmmmm (random source port)
|
v 102.115.XXX.XXX:443 (fixed destination port)
+--------+
|your |.....Config = forward inbound TCP 443 to device 192.168.0.110 port 8443
|router |
+--------+
| | 192.168.0.1:nnnnnn (random source-port)
| |
| `----------------------.
| |
v 192.168.0.105:8443 v 192.167.0.110:8443 (destination addresses+ports)
+--------+ +--------+
|your | |mystery |
|Macbook | |device |
+--------+ +--------+
请注意,端口转发规则指定一目标 IP 地址,而不是 IP 地址范围。此目标 IP 地址必须与您的 JBoss 服务器的 IP 地址完全匹配。
内部地址
你说你的内部地址是 192.168.0。105但您的端口转发是至 192.168.0。110。
内部地址有很多个,不只有一个,因此您需要清楚您指的是哪个内部地址:
- 路由器的内部地址
- JBoss 服务器的内部地址
- 台式电脑的内部地址(如果 JBoss 服务器是另一台计算机)
防火墙
MacBook 等计算机的操作系统中可以安装内部防火墙。这些防火墙可以配置为阻止来自其他设备或网络地址范围的传入连接。这可能会阻止通过路由器建立连接。
接口
一台计算机可以有许多网络接口,它可能有一个或多个以太网适配器、一个 WiFi 适配器和其他适配器以及一个环回适配器。每个适配器可能有一个或多个 IPV4 地址以及一个或多个 IPV6 地址。在 Mac 上,我相信您应该能够通过同时按下cmd+space并输入 来查看所有这些terminal
。然后在终端窗口中ifconfig
输入并按Enter。
绑定
通常可以配置 JBoss 等程序以指定它们“绑定”到哪些网络接口。这会影响上述可能的许多 IPV$ 地址中的哪一个可用于连接到 JBoss 服务。JBoss 服务被视为“监听”某些地址和端口。通过netstat -anp
在终端窗口中输入类似内容(如上所示),您可以查看哪些程序正在监听哪些地址和端口。我不是 Mac 用户,因此您可能需要检查 Mac 的命令详细信息。