![为什么在配置了其他端口的情况下使用 Apache 仅使用端口 80?](https://linux22.com/image/695406/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%9C%A8%E9%85%8D%E7%BD%AE%E4%BA%86%E5%85%B6%E4%BB%96%E7%AB%AF%E5%8F%A3%E7%9A%84%E6%83%85%E5%86%B5%E4%B8%8B%E4%BD%BF%E7%94%A8%20Apache%20%E4%BB%85%E4%BD%BF%E7%94%A8%E7%AB%AF%E5%8F%A3%2080%EF%BC%9F.png)
我在 Debian 服务器上运行 Apache。在初始安装和设置时,它在 上运行良好port 80
,我成功安装了一个 Wordpress 实例,一切正常。
我想减少端口扫描带来的冲击,所以我不使用端口 80。
我添加了端口和4041
,然后问题就出现了。4045
ports.conf
这ports.conf
:
Listen 4041
Listen 4045
<IfModule ssl_module>
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
文件sites-enabled/000-default.conf
:
<VirtualHost *:4041>
ServerAdmin webmaster@localhost
ServerName zeus
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
<VirtualHost *:4045>
ServerAdmin webmaster@localhost
ServerName zeus
DocumentRoot /var/www/html/wordpress
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
这些是我修改过的唯一文件,因为我有另一台机器可以很好地充当网络服务器。
我得到的是,任何访问尝试都会http://<ip>:4041
检索默认的“成功安装 Apache”index.html,并且 URL 读取http://<ip>
时会忽略端口方向,这与我在工作服务器上看到的不同。
然后就出现访问/wordpress失败的问题。
如果我访问,http://<ip>:4045
我希望看到我的 Wordpress 主页,根据分配,DocumentRoot
但我得到的却是失败:
如果我将所有内容改回端口 80,一切就都能正常工作。
我是否缺少了编译实例功能?
我感到很困惑。
这是我使用 Apache 时遇到的最大困难,15 年来我一直在用它做最基本的事情。
我已经为此烦恼了 6 个小时了。天啊!!
编辑:2016 12 21 端口 4045 位于 Chrome 的不安全端口列表中:
答案1
我得到的是,任何尝试访问 http://:4041 都会检索到默认的“成功
这是预料之中的,因为端口 4041 上的虚拟主机被配置为从目录提供内容
/var/www/html
但据我了解,您的 wordpress 安装位于
/var/www/html/wordpress
然后就出现了访问/wordpress失败的问题
这也是意料之中的。当您访问
http://192.168.1.20:4045/wordpress
wordpress 网站按预期运行,但 wordpress 代码将您重定向到
http://192.168.1.20/wordpress
因为 wordpress 将安装 URL 存储在其数据库中。
要修复此问题,您必须使用以下 URL 中描述的方法修复 wordpress URL:
答案2
我猜你的配置不完整/不正确。以下答案为同一个 VirtualHosts 声明多个端口似乎涵盖了你的用例