Apache HTTP Server: Difference between revisions

 
(4 intermediate revisions by the same user not shown)
Line 12: Line 12:
The following virtual host has an HTTPS redirect and uses an LetsEncrypt ssl certificate
The following virtual host has an HTTPS redirect and uses an LetsEncrypt ssl certificate
<pre>
<pre>
# contents of /etc/apache2/sites-available/davidl.me
# contents of /etc/apache2/sites-available/davidl_me.conf
<VirtualHost *:80>
<VirtualHost *:80>
   ServerName www.davidl.me
   ServerName www.davidl.me
Line 19: Line 19:


   RewriteEngine on
   RewriteEngine on
   RewriteCond %{SERVER_NAME} =www.davidl.me [OR]
   RewriteCond %{HTTPS} !=on
   RewriteCond %{SERVER_NAME} =davidl.me
   RewriteRule .* https://%{SERVER_NAME}%{REQUEST_URI} [NE,R,L]
   RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
   RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
</VirtualHost>
Line 92: Line 92:
   RewriteRule /(.*)    ws://192.168.1.99/$1  [P,L]
   RewriteRule /(.*)    ws://192.168.1.99/$1  [P,L]
   RewriteCond %{HTTP:Upgrade} !=websocket
   RewriteCond %{HTTP:Upgrade} !=websocket
   RewriteRule /(.*)    http://192.168.1.40:99/$1 [P,L]
   RewriteRule /(.*)    http://192.168.1.99/$1 [P,L]
   ProxyPreserveHost On
   ProxyPreserveHost On
   ProxyRequests Off
   ProxyRequests Off
Line 141: Line 141:


Common restrictions:
Common restrictions:
* <code>Require all granted</code> and <code>Require all denied</code>
* <code>Require local</code> localhost only
* <code>Require local</code> localhost only


;Note
;Note
* <code>Allow</code>, <code>Deny</code>, and <code>Order</code> are deprecated. They still work but you shouldn't add them to new code.
* <code>Allow</code>, <code>Deny</code>, and <code>Order</code> are deprecated. They still work but you shouldn't add them to new code.
==HTTP2==
[https://helgeklein.com/blog/2018/11/enabling-http-2-in-apache-on-ubuntu-18-04/ Guide] 
[https://tools.keycdn.com/http2-test Test website]