我有 Apache 2.2.15 配置了 Mod_Proxy 和 Mod_SSL 并在 RHEL 6.3 上提供 CherryPy Web 应用程序。我唯一苦苦挣扎的是让 Apache 为网站的静态内容(*.js、*.css、*.jpg)提供服务。这是我的 VirtualHost 条目...
<VirtualHost mydomain.com:443>
ServerAdmin support@mydomain.com
ServerName mydomain.com
ProxyPreserveHost On
SSLProxyEngine On
DocumentRoot /var/www/html/mydomain
SSLEngine on
SSLCertificateKeyFile /etc/ssl/myserver.key
SSLCertificateFile /etc/ssl/mydomain_com.crt
SSLCertificateChainFile /etc/ssl/mydomain_com.ca-bundle
# this prevents the follow URL path from being proxied
ProxyPass static/ !
# setup the proxy
<Proxy *>
Order allow,deny
Allow from all
</Proxy>
ProxyPass / http://www.mydomain.com:8080/
ProxyPassReverse / http://www.mydomain.com:8080/
</VirtualHost>
例如,我的 css 文件的路径如下...
/var/www/html/mydomain/static/style.css
因为我在导航到时强制整个站点处于 https 中
https://www.mydomain.com/static/style.css
或者
http://www.mydomain.com/static/style.css
我的浏览器告诉我找不到页面 (404)。谁能看到我做错了什么?
编辑:看来 Apache 仍在代理 /static ...我在访问我的 Apache 访问日志中的 /static/style.css 时发现了这个重定向...
xxx.xxx.xxx.xxx - - [17/Sep/2012:08:46:06 -0400] "GET /static/style.css HTTP/1.1" 301 337 "https://www.mydmain.com/Home/" "Mozilla/5.0 (X11; Linux x86_64; rv:10.0.7) Gecko/20120826 Firefox/10.0.7"
有谁知道为什么会这样?
提前致谢!
安德鲁