ReverseProxy avec Apache

Quand on veut permettre à un utilisateur lambda d'accèder sur un reseau public d'accèder à des informations sur un site web 192.168.50.120 situé dans un réseau privé, deux possibiliés s'offre à nous:
  1. On peut prendre un serveur Linux et avec deux cartes réseau :
    • une côté publique - eth0[10.163.200.9],
    • une côté privé - eth1[192.168.50 77])
    l'utiliser comme un Firewall avec les iptables et une règle DNAT pour ouvrir un port sur l'interface publique du firewall qui redirigera les demandes sur le serveur web du réseau privé exemple:
    • echo 1> /proc/sys/net/ipv4/ip_forward
    • iptables -t nat -A PREROUTING -i eth0 -p tcp -d 10.163.200.9 --dport 80 -j DNAT --to-destination 192.168.50.120
  2. Ou on peut configurer un reverse proxy avec Apache ou Squid sur le Firewall
Dans le deuxieme cas on a plus de souplesse car on peut intervenir sur chaque url par exemple avec mod_rewite
mais tout d'abord la config nécessaire dans le fichier config apache


<IfModule mod_proxy.c>
ProxyRequests Off
<Proxy *>
Order deny,allow
Deny from all
Allow from 10.163.100.44
</Proxy>
ProxyPass / http://192.168.50.90/
ProxyPassReverse / http://192.168.50.90/
ProxyPreserveHost On
</IfModule>

Ne pas oublier d'utiliser HTTP 1.1 sur le navigateur...

Commentaires

Posts les plus consultés de ce blog

Comment extraire les fichiers disques en raw d'un backup proxmox vma

Find the lists of disks of your Proxmox VM stored in a ceph cluster

Comment copier une machine virtuelle kvm en raw sur un Volume Group LVM2 se trouvant sur un disque en DRBD