SSH Tunnel en een HTTP Proxy

Wel ik heb dus een website gemaakt die anders reageerd in Belgie dan in Nederland of in Ierland of Duitsland. Maar hoe kan ik het resultaat nu zien?
Toevallig heb ik een server in al deze landen en kan ik dus door een Proxy op te zetten deze simulatie gaan doen.

Deel 1. De SSH server

Je hebt een server in een ander land of je koopt er ene aan bij Amazon, zo'n micro instance. Die zijn bijna gratis. Let wel je verkeer moet je apart betalen wanneer je zo'n Amazon EC2 instance opzet.
Ik veronderstel dat je weet hoe je een private and public key pair moet maken. En hoe je de public key op de server in je ander land krijgt.
Kies misschien gelijk ook voor een niet traditionele poort en stel je firewall in zodat alleen jouw verkeer zal doorgelaten worden.

Wanneer je ssh server in orde is kan je een verbinding maken daar naartoe.
bv: ssh -p 1234 ec2-user@ec2-2-100-51-198.compute-1.amazonaws.com
maw maak een ssh verbinding naar amazon op poort 1234

Deel 2. De Apache Proxy

Ook hier veronderstel ik dat je Apache reeds hebt geïnstalleerd.
Als extra is het belangrijk dat je volgende modules hebt geactiveerd.
Die zijn op een CentOS 7 te vinden onder /etc/httpd/conf.modules.d/00-proxy.conf

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
LoadModule proxy_http_module modules/mod_proxy_http.so
LoadModule proxy_connect_module modules/mod_proxy_connect.so

Zet een VirtualHost op die alleen luister op 'localhost' en op een specifieke poort

Listen 127.0.0.1:5678
<VirtualHost 127.0.0.1:5678>
    ProxyRequests On
    ProxyPreserveHost On
    ProxyVia On

    <Proxy *>
        Order deny,allow
        Allow from all
    </Proxy>
</VirtualHost>

Uiteraard moet je apache opnieuw laden of herstarten

Deel 3 Open de tunnel

Maak een tunnel voor alle locale verkeer en stuur die door naar de SSH-server
bv: ssh -fN -L 5678:localhost:5678 ec2-user@ec2-2-100-51-198.compute-1.amazonaws.com

Je kan Deel 1 en dit deel hier combineren in Putty

1. Open Putty en voer IP-adres of hostnaam in van de SSH server (aka proxy)

2. Voeg je private key toe in Putty Formaat (.ppk)

3. Maak de Tunnel

Deel 4 Surf via de Proxy

Nog steeds mijn favoriete browser: Firefox.
Maar dit is ook in te stellen voor Chrome, Safari of zelfs Internet Explorer.
Bij iedere versie zetten ze het wel ergens anders, onderstaande is voor versie 51

Voila, je tunnel en proxy zijn nu klaar.
Je kan een kleine test doen, door te gaan zien wat je IP-adres is: bv https://www.whatismyip.com/
Je kan ook de Apache logs bekijken en zien hoe ongelofelijk veel verkeer er passeert bij het laden van een pagina
bv: tail -f /var/log/httpd/access_log | grep 127.0.0.1

Terug naar overzicht nieuws