我在 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 声明多个端口似乎涵盖了你的用例