Gebruikershulpmiddelen

Site-hulpmiddelen


installatie_handleidingen:reverse_proxy

Verschillen

Dit geeft de verschillen weer tussen de geselecteerde revisie en de huidige revisie van de pagina.

Link naar deze vergelijking

Beide kanten vorige revisie Vorige revisie
Volgende revisie
Vorige revisie
installatie_handleidingen:reverse_proxy [2015/09/21 10:03]
abel
installatie_handleidingen:reverse_proxy [2017/02/14 23:40] (huidige)
abel
Regel 1: Regel 1:
 ====== Reverse http proxy op CentOS7 ====== ====== Reverse http proxy op CentOS7 ======
- 
 Een reverse http proxy met apache voor zowel gewoon verkeer als SSL verkeer. Een reverse http proxy met apache voor zowel gewoon verkeer als SSL verkeer.
  
-Begin met een [[werkinstructies:clone_de_minimale_centos7_template|Clone van de CentOS7 minimal]]+Het is belangrijk dat de interne servernamen aan de interne ip adressen gekoppeld zijn of door opname in de hosts file op de proxy server of op de interne DNS.
  
-installeer vervolgens apache en SSL: +vervolgens moet in de firewall de poorten waarvoor ge-proxied wordt een NAT regel worden doorgezet naar de proxyserver in de DMZ en die poorten opengezet van de proxy in de DMZ naar de webserver in de veilige zone.
  
-''yum install httpd\\ +Begin met een [[werkinstructies:clone_de_minimale_centos7_template|Clone van de CentOS7 minimal]]
-yum install openssl mod_ssl''+
  
-zet de modules aan in apache: 
  
-''sudo a2enmod ssl\\ +===== SSL Certificaten =====
-sudo a2enmod rewrite\\''+
  
-Om het dataverkeer te beveiligen met SSL moeten we een certificaat en een key aanmaken. We maken een “self-signed-certificate” omdat een geverifieerd certificaat te duur is voor nu.+Installeer eerst de software:\\ 
 +''yum install openssl''
  
-Maak de directory aan waar het certificaat wordt opgeslagen:+Om het dataverkeer te beveiligen met SSL moeten we een certificaat en een key plaatsen. breng de keys en certificaten van de te proxyen webservers over naar de directory ''/etc/ssl/cert''
  
-''mkdir /etc/httpd/ssl'' +Let op dat de SELinux context goed staat, fix dit eventueel door:
-  +
-en maak het certificaat en de key aan:+
  
-''openssl req -x509 -nodes -days 1000 -newkey rsa:2048 -keyout /etc/httpd/ssl/apache.key -out /etc/httpd/ssl/apache.crt''+''restorecon --/etc/ssl/certs/sslservernaam.domain.nl.key\\ 
 +restorecon -R -v /etc/ssl/certs/sslservernaam.domain.nl.crt''
  
-Het programma vraagt je om enkele gegevens, waarvan de belangrijste de  ''“Common Name”'' is. Vul hier je domeinnaam in: 
  
-<code> 
-Generating a 2048 bit RSA private key 
-.......................................................+++ 
-......+++ 
-writing new private key to '/etc/apache2/ssl/apache.key' 
------ 
-You are about to be asked to enter information that will be incorporated 
-into your certificate request. 
-What you are about to enter is what is called a Distinguished Name or a DN. 
-There are quite a few fields but you can leave some blank 
-For some fields there will be a default value, 
-If you enter '.', the field will be left blank. 
------ 
-Country Name (2 letter code) [AU]:NL 
-State or Province Name (full name) [Some-State]:Zuid Holland 
-Locality Name (eg, city) []:Den Haag 
-Organization Name (eg, company) [Internet Widgits Pty Ltd]:Boerema CI&ND 
-Organizational Unit Name (eg, section) []:IT Dept. 
-Common Name (e.g. server FQDN or YOUR name) []:calendar.auriel.nl 
-Email Address []:support@auriel.nl 
-</code> 
  
-Vervolgens maken we virtual host files aan: 
  
-één voor gewoon web verkeer over poort 80:+===== Apache =====
  
-''vi /etc/httpd/conf.d/default.conf''+installeer apache en de ssl module voor apache:\\ 
 +''yum install httpd\\ 
 +yum install mod_ssl''
  
-en zet hierin:+Vervolgens maken we virtual host files aan:
  
-<code>+één voor gewoon web verkeer over poort 80 ''/etc/httpd/conf.d/default.conf'' zet hierin:
  
 +<code>
 Listen 80 Listen 80
 +NameVirtualHost 192.168.X.X:80
  
-<VirtualHost *:80> +<VirtualHost 192.168.X.X:80> 
-    ServerName server-naam.auriel.nl+    ServerName server-naam.domain.nl
     ProxyRequests off     ProxyRequests off
- 
     <Proxy *>     <Proxy *>
         Order deny,allow         Order deny,allow
         Allow from all         Allow from all
     </Proxy>     </Proxy>
-     +    ProxyPass / http://server-naam.domain.nl/ 
-    ProxyPass / http://server-naam.auriel.nl/ +    ProxyPassReverse / http://server-naam.domain.nl/ 
-    ProxyPassReverse / http://server-naam.auriel.nl/+</VirtualHost> 
 + 
 +<VirtualHost 192.168.X.X:80> 
 +    # dit is een redirect naar de SSL versie van de website 
 +    ServerAdmin webmaster@domain.nl 
 +    ServerName otherserver.domain.nl 
 +    Redirect / https://otherserver.domain.nl
 </VirtualHost> </VirtualHost>
 </code> </code>
  
-en één voor het SSL verkeer, bijvoorbeeld voor de calendar server: +en één voor het SSL verkeer ''vi /etc/httpd/conf.d/ssl.conf'' zet hier in:
- +
-''vi /etc/httpd/conf.d/default.conf''+
  
 <code> <code>
- 
 Listen 443 Listen 443
 +#Listen 8443
 +NameVirtualHost 192.168.X.X:443
  
-<VirtualHost *:443>+<VirtualHost 192.168.X.X:443>
     SSLEngine On     SSLEngine On
     SSLProxyEngine On     SSLProxyEngine On
  
-    ServerName calendar.auriel.nl +    ServerName otherserver.domain.nl 
-     +    SSLCertificateFile /etc/ssl/certs/otherserver.domain.nl.crt 
-    SSLCertificateFile /etc/httpd/ssl/apache.crt +    SSLCertificateKeyFile /etc/ssl/certs/otherserver.domain.nl.key 
-    SSLCertificateKeyFile /etc/httpd/ssl/apache.key+    SSLProtocol All -SSLv2 -SSLv3 
 +    BrowserMatch "MSIE [2-5]" \ 
 +             nokeepalive ssl-unclean-shutdown \ 
 +             downgrade-1.0 force-response-1.0
     ProxyRequests off     ProxyRequests off
  
Regel 97: Regel 81:
         Allow from all         Allow from all
     </Proxy>     </Proxy>
 +
 +    ProxyPass / https://otherserver.domain.nl/
 +    ProxyPassReverse / https://otherserver.domain.nl/
 +</VirtualHost>
 +
 +
 +<VirtualHost 192.168.X.X:443>
 +    SSLEngine on
 +    SSLProxyEngine On
          
-    ProxyPass https://calendar.auriel.nl/ +    ServerName sslserver-two.domain.nl 
-    ProxyPassReverse http://calendar.auriel.nl/+    SSLCertificateFile /etc/ssl/certs/sslserver-two.domain.nl.crt 
 +    SSLCertificateKeyFile /etc/ssl/certs/sslserver-two.domain.nl.key 
 +    SSLProtocol All -SSLv2 -SSLv3 
 +    BrowserMatch "MSIE [2-5]" \ 
 +        nokeepalive ssl-unclean-shutdown \ 
 +        downgrade-1.0 force-response-1.0
  
 +    ProxyRequests off
 +
 +    <Proxy *>
 +        Order deny,allow
 +        Allow from all
 +    </Proxy>
 +    ProxyPass / https://sslserver-two.domain.nl/
 +    ProxyPassReverse / https://sslserver-two.domain.nl/
 </VirtualHost> </VirtualHost>
 +</code>
  
 +harden de httpd  install door de volgende entries toe te voegen aan: ''vi /etc/httpd/conf.d/options.conf''
 +
 +<code:ini>
 +TraceEnable off
 +
 +## Disable Signature
 +ServerSignature Off
 +
 +## Disable Banner
 +ServerTokens Prod
 +</code>
  
-cd /etc/httpd/conf.d/ +en zorg dat de server start:
-service httpd restart +
-vi /etc/httpd/conf/httpd.conf +
-vi hermes.conf +
-vi ssl.conf +
-service httpd restart +
-a2enmod ssl +
-yum install mod_ssl openssl +
-vi +/SSLCertificateFile /etc/httpd/conf.d/ssl.conf +
-vi ssl.conf +
-vi abel.conf +
-service httpd restart+
  
 +''systemctl enable httpd.service\\
 +systemctl restart httpd.service''
  
  
 +===== Firewall =====
 +Zet de nodige poorten in de firewall van de proxyserver zelf open zodat er van buitenaf verbinding kan worden gemaakt:
  
 +''firewall-cmd %%--permanent --%%add-port=80/tcp''\\
 +''firewall-cmd %%--permanent --%%add-port=443/tcp''\\
 +''firewall-cmd %%--%%reload''
  
  
  
 +===== Bronnen =====
  
 +[[http://stackoverflow.com/questions/18872482/error-during-ssl-handshake-with-remote-server]]
  
  
installatie_handleidingen/reverse_proxy.1442822585.txt.gz · Laatst gewijzigd: 2015/09/21 10:03 door abel