mirror of
https://github.com/discourse/discourse.git
synced 2024-12-18 13:03:46 +08:00
ff4aaa04cb
Sample Virtualhost showing how to:proxy requests to thinserver cluster, Server static files locally, set headers for downstream server to cache static assets, exclude mod_security rules that interfere with Discourse.
50 lines
1.2 KiB
Plaintext
50 lines
1.2 KiB
Plaintext
# Apache2 Virtual Host file to proxy Discourse to Thin cluster
|
|
|
|
<VirtualHost *:80>
|
|
ServerName forum.example.org.uk
|
|
DocumentRoot /html/discourse/public/
|
|
LogLevel debug
|
|
# ErrorLog /html/discourse/log/error.log
|
|
# CustomLog /html/discourse/log/access.log combined
|
|
|
|
# Hide some server information, since we can..
|
|
Header set Server "Sample Server Name"
|
|
|
|
<IfModule mod_security2.c>
|
|
SecRuleEngine On
|
|
# Remove any rules that prevent Discourse from running at all
|
|
SecRuleRemoveById <rule id>
|
|
</IfModule>
|
|
|
|
<Directory /html/discourse/public/>
|
|
Require all granted
|
|
</Directory>
|
|
|
|
<LocationMatch "^/assets/.*$">
|
|
# Set caching headers here, providing advice to downstream cache
|
|
Header set Cache-Control "public, max-age = 604800"
|
|
</LocationMatch>
|
|
|
|
RewriteEngine On
|
|
|
|
<Proxy balancer://thinservers>
|
|
BalancerMember http://127.0.0.1:3000
|
|
BalancerMember http://127.0.0.1:3001
|
|
BalancerMember http://127.0.0.1:3002
|
|
</Proxy>
|
|
|
|
# Prevent requests for /assets from being passed upstream
|
|
ProxyPass /assets !
|
|
|
|
# Pass the everything else
|
|
ProxyPass / balancer://thinservers/
|
|
ProxyPassReverse / balancer://thinservers/
|
|
ProxyPreserveHost on
|
|
|
|
<Proxy *>
|
|
Require all granted
|
|
</Proxy>
|
|
|
|
</VirtualHost>
|
|
|