我们设置了一个运行 Apache 的 Linux 网络服务器,它使用 SSL 证书。我们正在将此应用程序置于 NS 设备后面,因此需要将 SSL 移至 NS。
设置一个测试服务器,使用与生产完全相同的配置进行测试。最初,我们在文件中设置了一个httpd.conf
使用端口 80 的虚拟主机,并使用重定向参数将用户重定向到 https。
我已经注释掉这些参数并重新启动了 apache 和 httpd 服务,但仍然被重定向。我也清除了浏览器缓存,但仍然被重定向。我似乎无法弄清楚为什么?httpd.conf
输入如下:
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot /var/www/html
ServerName testserver02
# RedirectMatch permanent (?i)^/phpapp https://alias.company.org/phpapp
# RedirectMatch permanent (?i)^/appname https://alias.company.org/appname
# RedirectMatch permanent (?i)^/appname_form https://alias.company.org/appname_form
</VirtualHost>
答案1
为了确保您没有看到客户端的缓存行为,您可以使用 telnet 在端口 80 上发出手动 HTTP 请求,以检查您是否真的获得了重定向。
telnet www.domain.tld 80
请求看起来会像这样:
GET / HTTP/1.1
Host: www.domain.tld
后面跟着两行空行。
很少情况下,我发出启动/停止命令时进程不会停止。发出停止命令后,检查服务是否已停止,如果仍在运行,请在重新启动前将其终止。
答案2
答案非常清楚,假设您已重新启动正确的实例——其他人正在执行重定向。假设您只为 VirtualHost 添加条目,我将假设您在conf.d
类似目录中指定这些条目。检查其他配置中的类似设置,包括核心 httpd.conf。
该文件通常为/etc/httpd/httpd.conf
,conf.d 文件位于/etc/httpd/conf.d
,但这在不同的 Linux 发行版中有所不同。您还可以检查目录.htaccess
中的文件。/var/www/html