我有大约 25 台服务器在负载均衡器后面运行数百个网站。它们都在 CentOS 6.6 上使用 Apache/2.2.15。有一个网站有随机 301,会重定向到另一个网站的 https 版本。我已经完成了配置,并使用 rsync -azvp --delete 删除了所有 conf.d 目录,但仍然出现这个非常奇怪的错误。我很想知道在哪里可以调试这个非常奇怪的错误。
我没有在 apache 日志中看到 303 重定向,但我在另一个网站的 ssl 版本中看到了 404 错误,并且我在 Chrome 开发人员控制台中看到了重定向。
/var/log/subdomain-website-access_log:1.1.1.1 - - [04/Aug/2015:09:33:44 -0700] “GET /images/header.jpg HTTP/1.1” 404 313
当我放http://www.website.com/images/header.jpg进入浏览器的 URL,它也会重定向到 404。
这是具有随机重定向的站点的配置
<VirtualHost *:80>
ServerName www.website.com
ServerAlias website.com
ServerAdmin [email protected]
DocumentRoot /home/website.com/www
ErrorLog /var/log/website.com-error_log
CustomLog /var/log/website.com-access_log combined
LogLevel error
<Directory "/">
Options None
AllowOverride None
</Directory>
<Directory "/home/website.com/www">
Options None
AllowOverride None
Order allow,deny
allow from all
</Directory>
</VirtualHost>
这是获取它们的站点的配置。
<VirtualHost *:80>
ServerName subdomain.website.com
Redirect permanent / https://subdomain.website.com/
</VirtualHost>
<VirtualHost *:443>
ServerName [email protected]
DocumentRoot /home/subdomain/www
ServerName subdomain.website.com
ErrorLog "/var/log/subdomain-website-error_log"
CustomLog "/var/log/subdomain-website-access_log" common
LogLevel error
# Turn on Expires and set default to 0
ExpiresActive On
ExpiresDefault A0
SSLEngine on
SSLProtocol all -SSLv2 -SSLv3
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH+aRSA+RC4 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS"
SSLCertificateFile "/etc/httpd/certs/website.crt"
SSLCertificateKeyFile "/etc/httpd/certs/website.key"
SSLOptions +StdEnvVars
BrowserMatch "MSIE [2-5]" nokeepalive ssl-unclean-shutdown downgrade-1.0 force-response-1.0
<Directory />
Options Indexes FollowSymLinks MultiViews +ExecCGI +SymLinksIfOwnerMatch
AllowOverride All
Order allow,deny
allow from all
</Directory>
<Directory "/home/subdomain/www/">
Options Indexes FollowSymLinks MultiViews +ExecCGI +SymLinksIfOwnerMatch
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
答案1
我遇到了由第三个网站配置中的通配符引起的类似问题。
ServerAlias *
这让其他所有网站都觉得很奇怪。你有没有可能在其中使用了通配符?