如何自动使用具有相同别名的三台虚拟机?

如何自动使用具有相同别名的三台虚拟机?

如何自动使用三台虚拟机,这需要我在 HOSTS 文件中为名称添加 IP 别名。我将代码上传到所选服务器,然后转到地址 http://serverVM/blah 并查看程序。基本想法是,我希望能够在我的 HOSTS 文件中添加多个 IP 地址,所有 IP 地址都使用相同的别名“serverVM”,这样无论我使用哪个服务器,都不必修改 HOSTS 并重新启动。

例如:

192.168.1.1 服务器虚拟机

192.168.1.2 服务器虚拟机

192.168.1.3 服务器虚拟机

您可能会问,为什么我不直接输入:http://192.168.1.2/blah?这是因为我使用的应用程序由于 cookie 而需要别名“serverVM”,否则应用程序将无法正常工作。

问题是,我认为使用 HOSTS 文件无法实现这一点。每个服务器都不同,我想随时选择使用哪个服务器,我不能只使用其中任何一个。

有办法解决我的困境吗?

答案1

下载Fiddler语法高亮插件。安装后打开程序。Fiddler 是一个 HTTP 代理,它允许您在将 HTTP 请求发送到服务器之前对其进行修改。

在 Fiddler 中选择“Fiddler 脚本”选项卡。找到该OnBeforeRequest函数并在该方法中添加以下代码:

if(oSession.hostname.Contains("serverVM"))
{
    var prev = oSession.hostname,
        newIp = prev;

    oSession.hostname = "serverVM";

    if(prev == "serverVM1") {
        newIp = "192.168.1.1";
    } else if(prev == "serverVM2") {
        newIp = "192.168.1.2";
    } else if(prev == "serverVM3") {
        newIp = "192.168.1.3";
    }

    oSession["x-overrideHost"] = newIp;
}

现在您应该能够使用http://serverVM1http://serverVM2和访问您的三个不同的服务器http://serverVM3

答案2

我基本上放弃了这个,因为毕竟我不需要访问那么多机器,而且我发现当我修改我的主机文件时我可以简单地关闭我的浏览器并重新打开它。

相关内容