如何从 http://localhost:8123 中删除端口号以用作 http://localhost? [关闭]

Posted

技术标签:

【中文标题】如何从 http://localhost:8123 中删除端口号以用作 http://localhost? [关闭]【英文标题】:How to remove port number from http://localhost:8123 to use as http://localhost? [closed] 【发布时间】: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 吗? 【参考方案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>

【讨论】:

见this answer at serverfault 你试过不同的IP吗? 差异?我先尝试了 127.0.0.1 然后尝试了localhost 我放弃了……只用端口号 这看起来是一个不错的答案,但重要的是 Apache 正在侦听端口 80 以使其正常工作。我不确定这是否不符合目的

以上是关于如何从 http://localhost:8123 中删除端口号以用作 http://localhost? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何从外部从 GitHub 加载 JavaScript 文件? [复制]

如何将数据从回收器适配器发送到片段 |如何从 recyclerview 适配器调用片段函数

如何从 Firebase 获取所有设备令牌?

如何直接从类调用从接口继承的方法?

如何从服务器获取和设置 android 中的 API(从服务器获取 int 值)?如何绑定和实现这个

如何从Mac从android studio中的fabric注销? [复制]