【问题标题】:/etc/hosts file not redirecting to local application on mac/etc/hosts 文件未重定向到 mac 上的本地应用程序
【发布时间】:2023-04-02 22:00:01
【问题描述】:

我已经在我的机器上的 hosts 文件中设置了一个重定向,它基本上将一个身份验证域指向我在 IIS 中的本地项目(在 Visual Studio for Mac 中运行时) - 但是当我在 Chrome 中键入域名时(对于例如),我收到一条消息说无法访问此站点。

我希望它指向的本地 URL 是:http://localhost:44380/ - 为了安全起见,我无法透露实时 URL,但为了这个示例,我们可以说它是:auth.site.com(我的实际 URL 'm using 是有效的,它确实在 Chrome 中加载)

这是我当前设置的终端主机文件:

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost
127.0.0.1       auth.site.com

我非常熟悉 Windows 以及主机文件的工作原理,所以据我所知,这将在 Windows 中工作(我认为无论如何),我在这里是否缺少一些东西,因为显然有些东西是不正确的?

【问题讨论】:

  • auth.site.comlocalhost 使用相同的端口号吗?
  • 我不知道 - 虽然我可以与开发团队核实
  • /etc/hosts 只是替换 ip 地址,而不是端口号。因此,如果您在localhost 上侦听相同的端口号(http:80,https:443),它可能会起作用。
  • 你不应该在 macOS 上编辑/private/etc/hosts 吗?您确定您的更改会被保留吗?
  • 这也可能是因为 HSTS。 developer.mozilla.org/en-US/docs/Web/HTTP/Headers/…如果你在chrome上打开了原来的服务器网站,那么它会记住该网站只需要是HTTPS的浏览器

标签: macos hosts


【解决方案1】:

我会首先检查问题到底出在哪里。我想到了以下可能的问题:

  1. Hosts 文件无法正常工作:尝试在终端中运行ping auth.site.com。如果您看到来自 127.0.0.1 的响应,这应该有效。
  2. 是否可以访问端口,在浏览器中打开 http://localhost:44380。如果您看到自己的页面,这应该可以工作。
  3. 结合两个部分:在浏览器中打开http://auth.site.com:44380。如果这不起作用,可能是您在阻止访问之前访问的原始页面存在安全功能(例如强制 SSL 或固定证书)。
  4. 在终端中尝试其他浏览器或curl auth.site.com:44380

如果您对给定的端口不满意,可以发送port forwarding。在hosts文件中不能更改端口,因为hosts文件只用于域名查找,与端口无关。

【讨论】:

  • 我不断得到一个网页,上面写着“它有效!”这不是我希望的页面(运行一些react dev 页面)。我必须在 url 中指定端口才能到达那里。尝试将端口放入hosts 文件,但它不起作用,并且将端口放入 URL 对此不起作用。
  • 您不能使用 hosts 文件更改端口 - 请参阅我更新的答案。您可能想要进行端口转发。
【解决方案2】:

本地实例上的监听地址是http://auth.site.com:44380/

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-03
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-04-17
    • 2012-03-05
    相关资源
    最近更新 更多