I have Apache 2.2.15 configured with Mod_Proxy and Mod_SSL and serving CherryPy web application on RHEL 6.3. The only thing I'm struggling with is getting Apache to serve the website's static content (*.js, *.css, *.jpg). Here is my VirtualHost entry...
<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>
For instance the path to my css file is the following...
/var/www/html/mydomain/static/style.css
Since I'm forcing the entire site to be in https when I navigate to
https://www.mydomain.com/static/style.css
or
http://www.mydomain.com/static/style.css
My browser tells me the page is not found (404). Can anyone see what I'm doing wrong?
EDIT: it appears that Apache is still proxying /static... I found this redirect when accessing the /static/style.css in my Apache access log...
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"
anyone know why that is happening?
Thanks in advance!
Andrew
Try adding an alias for your static folder before ProxyPass. It worked like champ for me,
Alias /static/ /var/www/html/mydomain/static/