Reverse Proxy HTTP sous PFsense

Un reverse proxy permet de rediriger les requêtes de l'extérieurs vers un serveur interne en fonction de l'URL demandé. Concrètement, avec une seule adresse IP publique, vous pouvez héberger plusieurs serveurs WEB. Vos utilisateurs serons dirigé vers le bon serveur grâce au reverse proxy.

PFsense 2.2.2

Installation des paquets nécessaire

System – Packages – Available Packages

Rechercher et installer les paquets Squid3

revprox1

Configuration du Reverse Proxy

Configuration général du reverse proxy

Services - Reverse Proxy - General

revprox2

Reverse Proxy interface : Sélectionner l'interface d'écoute de votre reverse proxy
Enable HTTP reverse mode : Cocher pour activer le reverse proxy
reverse HTTP port : Indiquer le port d'écoute du reverse proxy

Configuration des serveurs WEB physique

Services - Reverse Proxy - Web Servers - Cliquer sur "+"

revprox3

revprox4

Enable this peer : Cocher pour activer le serveur Web
Peer Alias : Nom pour votre serveur Web
Peer IP : IP de votre serveur Web
Peer Port : Port d'écoute de votre serveur Web
Peer Protocol : HTTP ou HTTPs, dans mon exemple je suis en HTTP

Configuration du mappage (liaison entre les requêtes et les serveurs physiques)

Services - Reverse Proxy - Mappings - Cliquer sur "+"

revprox5

revprox6

Enable this URI : Cocher pour activer le mappage
Group name : Le nom du groupe de serveurs
Group Description : Une descriptions
Peers : Sélectionner les serveurs qui devrons répondre aux requetes
URIs : Ajouter les URLs auquelles les serveurs WEB devrons répondre

Configuration des règles de par feu

Firewall - Rules - Interface WAN

Autoriser le trafic arrivant sur le port 80

revprox7

Correction BUG PFsense  > Release 2.2

Sur la nouvelle version de PFsense, le reverse proxy ne fonctionne pas avec les paramètres par défaut.

Solution :

- Créer une règle NAT du port 80 sur l'interface loopback avec un port supérieur à 1024
- Créer une règle de par feu autorisant le trafic de la règle NAT mise en place précédemment
- Modifier la configuration du reverse proxy afin qu'il écoute sur l'interface loopback sur le port définit par la règle NAT

Dans mon exemple, je NAT le port 80 vers 127.0.0.1:9000

revprox8

revprox9

1 commentaire sur “Reverse Proxy HTTP sous PFsense

  1. eric Reply

    Bonjour, j'ai suivi votre tuto super mais j'ai une interrogation avec un autre tuto en lien par rapport à nextcloud et collabora. En effet j'ai un pfsense 2.3 avec squid reverse et squid transparent sur une DMZ (les postes de la DMZ ne passe par le squid proxy). Je me pose la question du reverse proxy (apache2 ou nginx) préconiser avec collabora. Mon nextcloud est accessible par mon squid reverse depuis l'extérieur sans problème mais le collabora sur la même machine (127.0.0.1 docker) n'est pas joignable de puis l'IP public. je n'arrive pas à configurer correctement le reverse proxy squid pour réaliser ceci

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *