【问题标题】:Alias for IP address?IP地址的别名?
【发布时间】:2011-08-24 04:02:11
【问题描述】:

我正在使用 Nginx 通过网络部署一个 Ruby 项目。您访问项目 Web 界面的方式是使用端口 (192.168.1.113:3000) 访问服务器的 IP 地址。这个比较麻烦。如何使用http://clock.local 之类的位置?

【问题讨论】:

    标签: nginx ip


    【解决方案1】:

    通常操作系统有一个“hosts”文件,您可以在其中设置一个指向 IP 的名称。这就是指定“localhost”的地方(至少对我而言)。

    无论如何,我认为您可以在那里为该 IP 设置一个别名,但该端口将不起作用。我想您仍然需要手动指定它。所以它会是http://alias:3000/

    【讨论】:

      【解决方案2】:

      不熟悉 nginx,但为什么不能直接在 /etc/hosts(或 WINDIR/system32/drivers/etc/hosts)中添加一个条目来将 IP 地址解析为用户定义的别名?

      【讨论】:

        【解决方案3】:

        如果您只需要从一两台机器上解析,只需将别名放在 /etc/hosts 中即可。否则,如果您有一个本地私有 DNS 服务器,您可以在那里添加您想要的名称,以便 LAN 上的每个人都可以使用它。我还将在端口 80 上构建一个代理,这样您就不需要指定端口。 (假设那台机器上的端口 80 尚未被使用。)

        编辑:我收回,如果80已经被使用没关系,你可以通过vhost代理:

        server {
          server_name whatever.whatever;
          root /path/to/doc_root
          location / {
            proxy_pass http://localhost:3000;
            proxy_set_header X-Forwarded-For $remote_addr;
          }
        }
        

        【讨论】: