Changes

Jump to navigation Jump to search
958 bytes added ,  09:25, 22 March 2019
m
no edit summary
Line 4: Line 4:  
/etc/apache2/sites-enabled (symbolic links to sites-available/*.conf files)<br />
 
/etc/apache2/sites-enabled (symbolic links to sites-available/*.conf files)<br />
   −
== Virtual Hosts ==
+
==Virtual Hosts==
 
Apache allows to have multiple web sites on the same server. To do this go to sites-available and create a<br />
 
Apache allows to have multiple web sites on the same server. To do this go to sites-available and create a<br />
 
.conf file for each host you whant containing the following:
 
.conf file for each host you whant containing the following:
Line 30: Line 30:  
Basic SSL VirtualHost:
 
Basic SSL VirtualHost:
 
  <nowiki><VirtualHost *:80>
 
  <nowiki><VirtualHost *:80>
        ServerName home.rra.lan
+
        ServerName home.rra.lan
        ServerAdmin webmaster@rra.lan
+
        ServerAdmin webmaster@rra.lan
        DocumentRoot /var/www/home.rra.lan
+
        DocumentRoot /var/www/home.rra.lan
       
+
       
        Redirect permanent / https://home.rra.lan
+
        Redirect permanent / https://home.rra.lan
        ErrorLog ${APACHE_LOG_DIR}/error.log
+
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
+
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
+
</VirtualHost>
<VirtualHost *:443>
+
<VirtualHost *:443>
        ServerName home.rra.lan
+
        ServerName home.rra.lan
        ServerAdmin webmaster@rra.lan
+
        ServerAdmin webmaster@rra.lan
        DocumentRoot /var/www/home.rra.lan
+
        DocumentRoot /var/www/home.rra.lan
        ErrorLog ${APACHE_LOG_DIR}/error.log
+
        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
+
        CustomLog ${APACHE_LOG_DIR}/access.log combined
       
+
       
        SSLEngine on
+
        SSLEngine on
        SSLCertificateKeyFile /etc/ssl/private/home.rra.lan.key
+
        SSLCertificateKeyFile /etc/ssl/private/home.rra.lan.key
        SSLCertificateFile /etc/ssl/certs/home.rra.lan.crt
+
        SSLCertificateFile /etc/ssl/certs/home.rra.lan.crt
        SSLCertificateChainFile /etc/ssl/certs/FreeIPA-CA.crt
+
        SSLCertificateChainFile /etc/ssl/certs/FreeIPA-CA.crt
</VirtualHost>
+
</VirtualHost>
</nowiki>
+
</nowiki>
   −
== Redirect HTTP to HTTPS ==
+
==Redirect HTTP to HTTPS==
 
sudo nano /etc/apache2/sites-available/redirect_HTTP_to_HTTPS.conf
 
sudo nano /etc/apache2/sites-available/redirect_HTTP_to_HTTPS.conf
 
  <nowiki><VirtualHost *:80>
 
  <nowiki><VirtualHost *:80>
        RewriteEngine on
+
        RewriteEngine on
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
+
        RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost></nowiki>
+
</VirtualHost></nowiki>
 
sudo ln -s /etc/apache2/sites-available/redirect_HTTP_to_HTTPS.conf /etc/apache2/sites-enable/redirect_HTTP_to_HTTPS
 
sudo ln -s /etc/apache2/sites-available/redirect_HTTP_to_HTTPS.conf /etc/apache2/sites-enable/redirect_HTTP_to_HTTPS
== Authentication ==
+
==Authentication==
    
Create user account with:
 
Create user account with:
Line 66: Line 66:  
Protect with the directory directive:
 
Protect with the directory directive:
 
  <nowiki><Directory "/usr/local/apache/htdocs/secret">
 
  <nowiki><Directory "/usr/local/apache/htdocs/secret">
    AuthType Basic
+
    AuthType Basic
    AuthName "Restricted Files"
+
    AuthName "Restricted Files"
    # (Following line optional)
+
    # (Following line optional)
    AuthBasicProvider file
+
    AuthBasicProvider file
    AuthUserFile "/usr/local/apache/passwd/passwords"
+
    AuthUserFile "/usr/local/apache/passwd/passwords"
    # Require user rbowen
+
    # Require user rbowen
    Require valid-user
+
    Require valid-user
</Directory></nowiki>
+
</Directory></nowiki>
See more options at: https://httpd.apache.org/docs/2.4/es/howto/auth.html
+
 
 +
== Reverse Proxy ==
 +
<syntaxhighlight lang="bash">
 +
a2enmod proxy proxy_http  # HTTP
 +
a2enmod proxy proxy_ftp  # FTP
 +
a2enmod proxy proxy_html  # rewrite HTML links in proxy address space
 +
a2enmod proxy proxy_ajp  # Tomcat
 +
a2enmod proxy
 +
a2enmod rewrite
 +
a2enmod deflate
 +
a2enmod headers
 +
a2enmod proxy_balancer
 +
a2enmod proxy_connect
 +
</syntaxhighlight>
 +
 
 +
==== VirtualHost ProxyPass ====
 +
<syntaxhighlight lang="apache">
 +
<VirtualHost *:*>
 +
    ProxyPreserveHost On
 +
 
 +
    # Servers to proxy the connection, or;
 +
    # List of application servers:
 +
    # Usage:
 +
    # ProxyPass / http://[IP Addr.]:[port]/
 +
    # ProxyPassReverse / http://[IP Addr.]:[port]/
 +
    # Example:
 +
    ProxyPass / http://0.0.0.0:8080/
 +
    ProxyPassReverse / http://0.0.0.0:8080/
 +
 
 +
    ServerName localhost
 +
</VirtualHost>
 +
</syntaxhighlight>
 +
 
 +
 
 +
See more options at:
 +
 
 +
https://httpd.apache.org/docs/2.4/es/howto/auth.html
 +
 
 +
https://www.digitalocean.com/community/tutorials/how-to-use-apache-http-server-as-reverse-proxy-using-mod_proxy-extension
 +
<br />

Navigation menu