【问题标题】:How to remove port number from http://localhost:8123 to use as http://localhost? [closed]如何从 http://localhost:8123 中删除端口号以用作 http://localhost? [关闭]
【发布时间】:2012-10-20 18:26:46
【问题描述】:

我不得不将我的默认 apache 端口号 80 更改为 8123(只是随机数)

我更改了以下文件..

httpd.conf

Listen 8123
ServerName localhost:8123

httpd-vhosts.conf

NameVirtualHost *:8123
<VirtualHost *:8123>
  ServerName localhost
  DocumentRoot "C:/xampp/htdocs"
  DirectoryIndex index.php
</VirtualHost>

Windows 主机文件

127.0.0.1:8123     localhost
::1:8123           localhost

我使用的是 Windows 7。

进行所有这些更改后,我重新启动了 apache,但我仍然无法访问 http://localhost .... 但是 http://localhost:8123 工作正常... 有人可以帮我找出我做错了什么吗?谢谢

【问题讨论】:

  • hosts 文件中将端口号添加到 IP 地址是没有意义的。 hosts 文件用于创建 IP 地址和一个或多个主机名之间的关系。 hosts 文件中的第一个条目只能是 IP 地址!以下条目应为主机名。
  • 如果你告诉服务器不要监听端口 xyz,它不会监听端口 xyz,就是这样。
  • 哈哈,我看到的是那个 dynmap 吗?

标签: apache xampp localhost hosts


【解决方案1】:

做到这一点的唯一方法是改回80,或者在端口80(如代理)上安装一个监听器,将所有流量重定向到端口8123。

当您输入不带端口的服务器名称时,默认使用端口 80。 AFAIK,如果不更改浏览器的源代码,就无法更改此行为。

hosts 文件不支持您尝试执行的那种重定向。规则就是失败。

编辑:啊,在某些浏览器中可能可以更改默认端口。 Here's MozillaZine for Firefox 中的一篇文章。

【讨论】:

  • 谢谢 - 我会尝试更改浏览器默认端口
【解决方案2】:

您可以使用proxyPassproxyPassReverse 将其删除

<VirtualHost *>
    ServerName localhost
    ProxyPass / http://127.0.0.1:8123/ 
    ProxyPassReverse / http://127.0.0.1:8123/ 
</VirtualHost>

【讨论】:

  • 你试过不同的IP吗?
  • 差异?我先尝试了 127.0.0.1 然后尝试了localhost
  • 我放弃了……只用端口号
  • 这看起来是一个不错的答案,但重要的是 Apache 正在侦听端口 80 以使其正常工作。我不确定这是否不符合目的
猜你喜欢
  • 2010-12-19
  • 2023-01-26
  • 2016-04-14
  • 2021-11-17
  • 2019-01-07
  • 2021-06-23
  • 2020-01-29
  • 2013-12-27
  • 2017-12-24
相关资源
最近更新 更多