Nginx两个虚拟主机,其中域名为localhost

时间:2014-01-02 15:39:20

标签: nginx dns config virtual-hosts

在我的Nginx上我有两台主机。 一个有价值观 server_name = www.mydomain.com; root /var/www/production/myFirstWebSite; 和另一个 server_name=localhost; root /var/www/development/mySecondWebSite;

到我的域名注册商帐户,我为DNS配置了两条A记录“ www IN A myIP IN A myIP

这很酷,我可以通过www.mydomain.com或mydomain.com访问我的第一个网站。

现在问题是如何到达我的第二个正在开发的网站,我不买域名。并且myIP / development / myScondWebSite不再有效...... 我认为问题来自DNS条目,但我不确定。 你有什么想法吗?

提前致谢。

1 个答案:

答案 0 :(得分:0)

我可以通过几种方式来访问localhost。

  • 创建子域而不是localhost
    这是我推荐的最好的,尝试做server_name localhost.mydomain.com之类的事情 如果您需要进一步提高安全性,则可以使其仅允许某个IP或一系列IP。

  • 播放您的主机文件
    在这种特殊情况下,我不建议这样做,因为你自己弄乱了localhost,可能会破坏你机器上的其他东西,如果是其他任何名字,我可以说它很好。

  • 使用ssh隧道到服务器
    在此方法中,您在ssh连接上创建一个动态端口,并将浏览器设置为通过隧道传递所有流量,然后从那里处理服务器,因此如果您运行localhost,那么就像运行{ {1}}来自那里,但由于这涉及浏览器设置,您需要记住在断开ssh连接后禁用它,否则浏览器将返回错误,说明代理服务器拒绝连接。

  • 使用本地Nginx作为代理 我刚刚提出的这个,我不能说如果它能够工作,那么在我之前与之合作之前,我知道它们有效。 您设置了本地nginx将捕获的某个域名,然后将其代理到远程服务器,但编辑localhost标头将其设置为localhost,这样它将匹配host in {远程机器,如果这个工作,它不需要每次都打开和关闭任何设置。

在所有这些中,我首先推荐第一个(如果它是一个选项),如果你不想在每个设置之前和之后继续打开和关闭,请尝试最后一个。