Difference between revisions of "WebServer - Name-based Virtual Host Support"
Jump to navigation
Jump to search
Line 53: | Line 53: | ||
* www.foo.bar.conf | * www.foo.bar.conf | ||
+ | ######################### | ||
+ | # WWW.foo.bar # | ||
+ | ######################### | ||
+ | |||
+ | <VirtualHost *:80> | ||
+ | ServerName foo.bar | ||
+ | Redirect permanent / https://www.foo.bar/ | ||
+ | </VirtualHost> | ||
+ | |||
+ | <VirtualHost *:80> | ||
+ | ServerName www.foo.bar | ||
+ | Redirect permanent / https://www.foo.bar/ | ||
+ | </VirtualHost> | ||
+ | |||
+ | <VirtualHost _default_:443> | ||
+ | ServerName www.foo.bar | ||
+ | DocumentRoot "/var/www/html" | ||
+ | SSLCertificateFile /etc/letsencrypt/live/www.foo.bar/fullchain.pem | ||
+ | SSLCertificateKeyFile /etc/letsencrypt/live/www.foo.bar/privkey.pem | ||
+ | Include /etc/letsencrypt/options-ssl-apache.conf | ||
+ | </VirtualHost> | ||
+ | |||
* wiki.foo.bar.conf | * wiki.foo.bar.conf | ||
− | * | + | ######################### |
− | * | + | # Wiki.foo.bar # |
− | * proxy.foo. | + | ######################### |
+ | |||
+ | <VirtualHost *:80> | ||
+ | ServerName wiki.foo.bar | ||
+ | Redirect permanent / https://wiki.foo.bar/ | ||
+ | </VirtualHost> | ||
+ | |||
+ | <VirtualHost _default_:443> | ||
+ | ServerName wiki.foo.bar | ||
+ | DocumentRoot "/var/www/wiki" | ||
+ | SSLCertificateFile /etc/letsencrypt/live/wiki.foo.bar/fullchain.pem | ||
+ | SSLCertificateKeyFile /etc/letsencrypt/live/wiki.foo.bar/privkey.pem | ||
+ | Include /etc/letsencrypt/options-ssl-apache.conf | ||
+ | </VirtualHost> | ||
+ | |||
+ | * proxy.foo.bar.conf | ||
+ | ################################## | ||
+ | # Proxy for T110.foo.CA # | ||
+ | ################################## | ||
+ | |||
+ | <VirtualHost *:80> | ||
+ | ServerName proxy.foo.bar | ||
+ | Redirect permanent / https://proxy.foo.bar/ | ||
+ | </VirtualHost> | ||
+ | |||
+ | <VirtualHost _default_:443> | ||
+ | ServerName proxy.foo.bar | ||
+ | ProxyRequests on | ||
+ | SSLEngine On | ||
+ | SSLProxyEngine On | ||
+ | ProxyPreserveHost On | ||
+ | |||
+ | # Redirect WSS traffic (Needed if this is a proxy for ESXi) | ||
+ | ProxyPass /ticket/ wss://proxy.foo.bar/ticket/ | ||
+ | ProxyPassReverse /ticket/ wss://proxy.foo.bar/ticket/ | ||
+ | |||
+ | # Redirect HTTPS traffic | ||
+ | ProxyPass / https://proxy.foo.bar/ | ||
+ | ProxyPassReverse / https://proxy.foo.bar/ | ||
+ | |||
+ | SSLCertificateFile /etc/letsencrypt/live/proxy.foo.bar/fullchain.pem | ||
+ | SSLCertificateKeyFile /etc/letsencrypt/live/proxy.foo.bar/privkey.pem | ||
+ | <Proxy "*"> | ||
+ | Order allow,deny | ||
+ | Allow from all | ||
+ | </Proxy> | ||
+ | ErrorLog /var/log/apache2/Proxy/proxy_log | ||
+ | CustomLog /var/log/apache2/Proxy/proxy-access_log combined | ||
+ | |||
+ | </VirtualHost> | ||
and restart Apache: | and restart Apache: | ||
*<code>sudo service apache2 restart</code> | *<code>sudo service apache2 restart</code> |
Revision as of 15:50, 28 June 2020
This page was created while splitting my original webserver from a single name to 3 names to make access easier. I moved the wikis to their own subdomains. At some point, I really should clean this page up to make it clearer...
(i.e.: moving it from test.tinkernow.net/wiki to wiki.tinkernow.net)
sudo vim /var/www/LocalSettings.php
#$wgServer = "http://test.tinkernow.net";
$wgServer = "http://wiki.tinkernow.net";
Then add this to /etc/apache2/apache2.conf
NOTE: It is probably smarter to put the VirtualHost
sections in separate files in the /etc/apache2/sites-available/
folder, then make symbolic links to them in /etc/apache2/sites-enabled
This will simplify maintenance down the road...
<VirtualHost *:80 *:443> # This first-listed virtual host is also the default for *:80 ServerName test.tinkernow.net # ServerAlias tinkernow.net DocumentRoot "/var/www/html" </VirtualHost> <VirtualHost *:80> ServerName wiki.tinkernow.net Redirect permanent / https://wiki.tinkernow.net/ # This line causes http requests to be converted to https... </VirtualHost> <VirtualHost _default_:443> ServerName wiki.tinkernow.net DocumentRoot "/var/www/wiki" </VirtualHost> <VirtualHost *:80> ServerName labnotes.tinkernow.net Redirect permanent / https://labnotes.tinkernow.net/ # This line causes http requests to be converted to https... </VirtualHost> <VirtualHost _default_:443> ServerName labnotes.tinkernow.net DocumentRoot "/var/www/labnotes" </VirtualHost> <VirtualHost *:80> ServerName blog.tinkernow.net Redirect permanent / https://blog.tinkernow.net/ # This line causes http requests to be converted to https... </VirtualHost> <VirtualHost _default_:443> ServerName blog.tinkernow.net DocumentRoot "/var/www/WP" </VirtualHost>
A set of files for /etc/apache2/sites-available:
- www.foo.bar.conf
######################### # WWW.foo.bar # ######################### <VirtualHost *:80> ServerName foo.bar Redirect permanent / https://www.foo.bar/ </VirtualHost> <VirtualHost *:80> ServerName www.foo.bar Redirect permanent / https://www.foo.bar/ </VirtualHost> <VirtualHost _default_:443> ServerName www.foo.bar DocumentRoot "/var/www/html" SSLCertificateFile /etc/letsencrypt/live/www.foo.bar/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/www.foo.bar/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf </VirtualHost>
- wiki.foo.bar.conf
######################### # Wiki.foo.bar # ######################### <VirtualHost *:80> ServerName wiki.foo.bar Redirect permanent / https://wiki.foo.bar/ </VirtualHost> <VirtualHost _default_:443> ServerName wiki.foo.bar DocumentRoot "/var/www/wiki" SSLCertificateFile /etc/letsencrypt/live/wiki.foo.bar/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/wiki.foo.bar/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf </VirtualHost>
- proxy.foo.bar.conf
################################## # Proxy for T110.foo.CA # ################################## <VirtualHost *:80> ServerName proxy.foo.bar Redirect permanent / https://proxy.foo.bar/ </VirtualHost> <VirtualHost _default_:443> ServerName proxy.foo.bar ProxyRequests on SSLEngine On SSLProxyEngine On ProxyPreserveHost On # Redirect WSS traffic (Needed if this is a proxy for ESXi) ProxyPass /ticket/ wss://proxy.foo.bar/ticket/ ProxyPassReverse /ticket/ wss://proxy.foo.bar/ticket/ # Redirect HTTPS traffic ProxyPass / https://proxy.foo.bar/ ProxyPassReverse / https://proxy.foo.bar/ SSLCertificateFile /etc/letsencrypt/live/proxy.foo.bar/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/proxy.foo.bar/privkey.pem <Proxy "*"> Order allow,deny Allow from all </Proxy> ErrorLog /var/log/apache2/Proxy/proxy_log CustomLog /var/log/apache2/Proxy/proxy-access_log combined </VirtualHost>
and restart Apache:
sudo service apache2 restart