我有一台辅助 PC,我一直将其用作服务器,我的朋友一直使用它来托管“反恐精英:全球攻势”等游戏服务器,但最近我一直试图将其用作网络服务器/测试我的一些程序的地方。我不想让我的朋友访问我的任何文件,但他声称他需要 root/sudo 来运行服务器。
因此,我一直在尝试为服务器设置 2 个独立的虚拟机,一个供我做任何我想做的事情,另一个供他运行游戏服务器,我该如何做到这一点而不必担心 IP 网络切换等,基本上我只想要一个域名连接到游戏服务器,一个域名连接到我的个人服务器。
答案1
您可以使用 Apache 服务器(这是监听 80 和 443 并处理两个站点的 HTTPs 流量的服务器),它充当代理并使用“虚拟主机”将任一服务器的请求转发到其实际服务器(在您的情况下可以是 VM)。
典型设置:
- 两个域名都指向你的服务器的 IP
- 该服务器运行 Apache 服务器,以及至少一个包含您朋友的服务器的 VM。
- 对你朋友的服务器的请求(由 HTTP 标头中给出的主机识别)被转发到 VM:
<VirtualHost *:*>
ProxyPreserveHost On
ProxyPass "/" "http://local-friends-vm-adress/"
ProxyPassReverse "/" "http://local-friends-vm-adress/"
ServerName friendsdomain.com
</VirtualHost>
- 您可以让自己的服务器在“裸机”上运行,也可以使用类似的语句在自己的虚拟机中运行它。