Met een Apache webserver is het mogelijk een reverse proxy met ip restrictie en geldige login in te stellen. Een reverse proxy is een webserver die de sites van andere webservers doorgeeft. Deze webservers kunnen bijvoorbeeld in het interne netwerk staan. Met behulp van een reverse proxy is het mogelijk deze websites toch via internet benaderbaar te maken. Soms is het handig dat zo’n website die normaal gesproken via intranet benaderbaar deze mogelijkheid toch gaat krijgen. In geval het om een website gaat die alleen voor specifieke mensen via internet benaderbaar moet zijn, kun je de configuratie van de Proxy webserver dusdanig aanpassen dat je restricties op het IP adres en/of een geldige login als voorwaarde instelt wil iemand toegang hebben tot deze website. In onderstaande Apache configuratiefile tref je instellingen aan voor zowel restrictie op IP adres en een geldige login.
<VirtualHost *:80>
ServerAdmin jenaam@domein.nl
ServerName demo.domein.nl
ErrorLog ${APACHE_LOG_DIR}/demo.domein.nl-error.log
CustomLog ${APACHE_LOG_DIR}/demo.domein.nl-access.log combined
RewriteEngine on
RewriteCond %{SERVER_NAME} =demo.domein.nl
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
<VirtualHost *:443>
<Location />
AuthType Basic
AuthName "Beveiligde toegang"
AuthUserFile /var/www/htuser/.wachtwoorden
AllowOverride AuthConfig
<RequireAll>
Require valid-user
<RequireAny>
Require ip 8.8.8.8 192.168.1
</RequireAny>
</RequireAll>
ProxyPass https://192.168.3.13/ nocanon
ProxyPassReverse https://192.168.3.13/
</Location>
ServerName demo.domein.nl
ServerAdmin jenaam@domein.nl
SSLProxyEngine On
SSLProxyVerify none
SSLProxyCheckPeerCN off
SSLProxyCheckPeerName Off
ErrorLog ${APACHE_LOG_DIR}/demo.domein.nl-error.log
CustomLog ${APACHE_LOG_DIR}/demo.domein.nl-access.log combined
SSLEngine On
SSLCertificateFile /etc/letsencrypt/live/demo.domein.nl/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/demo.domien.nl/privkey.pem
</VirtualHost>
Met behulp van <Location/> start je de voorwaarden waaraan voldaan moet worden wil iemand toegang krijgen tot de website. In bovenstaande configuratie krijgt alleen een computer toegang met het ipadres 8.8.8.8 of een ip adres uit de reeks 192.168.1. Daarnaast moet de gebruiker van deze computer een combinatie van geldige gebruikersnaam en wachtwoord invullen.
Meer artikelen over Apache op deze kennisbank:
