Scénario
J'ai un serveur qui écoute sur le port 3000
sur localhost
. Je veux que le trafic entrant localhost:8080
à transmettre à ce serveur.
Mon installation :
- Le serveur écoute sur le port
3000
; n8080
- pfctl :
rdr pass log on lo0 proto tcp from any to any port 8080 -> 127.0.0.1 port 3000
- surveiller toutes les connexions entrantes sur le port
8080
surlo0
interface :sudo tcpdump -nn -i lo0 dst port 8080 -v
Test
curl localhost:8080
Attendu
- sur le port
3000
reçoit la demande de curl - tcpdump retourne quelque chose comme : 127.0.0.1.57330 > 127.0.0.1. 3000 < more-info >
Réalité
- curl obtient
curl: (7) Failed to connect to localhost port 8080: Connection refuse
- tcpdump renvoie 127.0.0.1.57330 > 127.0.0.1. 8080 < more-info >
\=> la sortie tcpdump signifie que la règle n'a pas été appliquée puisque le port de destination est toujours 8080 et non 3000 .
Question
Où ma configuration a-t-elle mal tourné et comment y remédier ?