我发现了很多类似的问题,但是我对服务器的东西很不熟悉。
我有一台运行 Linux 发行版 (Gentoo) 的笔记本电脑。此发行版使用 Virtualbox 运行 Ubuntu Server。此服务器中有一个 Tomcat Web 服务器 (默认) 监听端口 80。
现在我想实现至少两个用例:
- 当没有活动的互联网连接时,即当我不在家时,从我的 Gentoo 主机向 Tomcat 发送 http 请求(可能
http://localhost/...
在我的 Gentoo 浏览器中使用 -like?) - 从同一局域网中的任何一台机器向 Tomcat 发送 http 请求,例如当我在家里时(可能
http://192.168.0.xx/...
在客户端的浏览器中使用-like?)
显然,在两种情况下,服务器都必须能够向客户端发送 http 响应。
我希望有人可以给我链接或者给我写一个简单的分步教程。
提前致谢。
编辑:更新,第二点作品默认情况下。虚拟服务器具有本地192.168.0.15
IP(可能每次都会改变,但我可以忍受),如果我192.168.0.15:8080
在 LAN 中的任何浏览器中输入,Tomcat 都可以正常工作。
所以我只需要针对第一点的帮助,即当我的笔记本与任何 LAN 断开连接时。
答案1
您有一台安装了 Gentoo 的笔记本电脑,并以客户机身份运行带有 Ubuntu Server 的 Virtualbox。我使用类似的设置。当它是虚拟机时,我更喜欢为虚拟机使用桌面版本。这样我就可以在虚拟机中的浏览器中进行测试。也许它会占用更多资源,但一般来说您不会注意到。这样更容易完成任务,也更容易熟悉所有设置。对于服务器部分,没有太大的不同。
VM 的 IP 是什么?尝试“ifconfig”,看看 IP 是否在同一范围内,所以是 192.168.0.xx,而不是 10.0.0.xx。如果是 10.xxx,则说明您在 VM 设置中选择了错误类型的网络适配器。
如果它们位于同一范围内,并且您无法连接,则防火墙可能有问题。尝试 sudo ufw status。
您能否在 VM 上通过 telnet 连接到端口 80,那么您确定 Tomcat 正在运行并监听端口 80 吗?
服务器上是否安装了 openssh-server?如果您可以使用 SSH 从 Gentoo 终端登录到 VM,则说明网络没有问题,防火墙可能不是问题。
HTTPD 或 Apache2 是否已安装并正在运行?这可能会与在端口 80 上运行的 Tomcat 发生冲突。
答案2
如果您使用路由器,并且想从互联网或外部网络访问它,则将连接转发到 VPS 所在的内部 IP 的 80。如果您想从同一网络访问,则执行 192.168.0.100:80,或您为此设置的端口(80 应该是默认的 http,因此这只是示例)。检查可能阻止您连接的任何防火墙。