EDIT complet pour précision (désolé)
Bonjour,
J'ai donc trois machines SRV1 (local), SRV2 (local) et VPN (distant). SRV1 et SRV2 sont connectés a VPN. L'idée est d'avoir accès aux ports 80 et 443 de SRV1 et SRV2 (peu importe le moyen). Les 3 machines sont dédiés.
Avec IPTABLES, je ne peux rediriger les ports 80 et 443 que sur une machine. Je cherche donc à utiliser les virtualhost et mod_proxy mais sans succès jusque là, que ce soit sur un apacha local ou apache sur le VPN.
<VirtualHost *:80>
ServerName titi.toto.tld
ProxyPass / http://ip_srv2/
ProxyPassReverse / http://ip_srv2/
ProxyPreserveHost On
ProxyRequests On
</VirtualHost>
<VirtualHost *:80>
ServerName tata.toto.tld
ProxyPass / http://ip_srv1/
ProxyPassReverse / http://ip_srv1/
ProxyPreserveHost On
ProxyRequests On
</VirtualHost>
Ceci ne fonctionne pas
Comme dit juste en dessous, l'idéal serai que le apache du VPN face tout ceci.
Le schéma serai donc le suivant :
# pas compris la question
Posté par NeoX . Évalué à 2.
si tu as 2 machines, tu as 2 IPs
donc tu fais subdomain1 -> premiere IP (donc premier serveur)
subdomain2 -> 2e IP (donc 2e serveur)
ton serveur apache ecoutant lui sur le port 80 ou 443 de l'adresse IP publique externe de ton serveur VPN,
et renvoyant sur les IPs VPN de tes deux machines clientes.
[^] # Re: pas compris la question
Posté par Gorta . Évalué à 1. Dernière modification le 22 décembre 2016 à 10:40.
Cette solution est en effet la première à laquel j'ai pensé mais semble impossible si j'ai bien compris.
<VirtualHost *:80>
ServerName titi.toto.tld
ProxyPass / http://10.8.0.3/
ProxyPassReverse / http://10.8.0.3/
ProxyPreserveHost On
ProxyRequests On
</VirtualHost>
ne semble pas non plus fonctionner depuis le apache du VPN. (le site fonctionne bien puisque si je NAT directement le port 80 de 10.8.0.3, le host m'affiche le site).
[^] # Re: pas compris la question
Posté par NeoX . Évalué à 2.
simplifie deja pour commencer
car si ca se trouve tes preservehost et autres options font que tu vois directement l'IP du demandeur, et que le serveur tente de lui repondre directement, sans repasser par le reverse proxy
[^] # Re: pas compris la question
Posté par Gorta . Évalué à 1.
Merci pour ton retour.
Malheureusement, ça n'a pas plus d'effet.
Les logs apache ne montrent strictement rien non plus…
[^] # Re: pas compris la question
Posté par NeoX . Évalué à 2. Dernière modification le 22 décembre 2016 à 23:38.
on est d'accord que tes SRV1 et SRV2 sont sur le reseau VPN 10.8.0.X
et que toi, pour tester, tu arrives de l'exterieur, sur le serveur apache en lui meme,
qui ecoute sur l'IP exterieure du serveur (sur la carte "SSL" sur son schema) ?
[^] # Re: pas compris la question
Posté par Gorta . Évalué à 1. Dernière modification le 23 décembre 2016 à 10:19.
C'est bien ça.
De mon côté, je ne suis pas sur le VPN, donc j'arrive sur l'IP externe de VPN qui doit ensuite rediriger le traffic.
VPN ne fait que "VPN" et a un apache tout frais pour le proxy. SRV1 et srv2 ont un apache également mais sans module proxy.
Les redirections NAT IPTABLES des ports 80 et 443 ont été désactivés pour laisser apache faire le boulot.
[^] # Re: pas compris la question
Posté par Gorta . Évalué à 1.
INFO supplémentaire: c'est peut être ça, actuellement, SRV1 et SRV2 peuvent ping VPN mais ne peuvent ce ping entre eux. VPN lui, ne ping ni SRV1 ni SRV2. Est-ce que ceci pourrait gêner apache ? (la connexion VPN est bien opérationnel).
[^] # Re: pas compris la question
Posté par NeoX . Évalué à 2.
oui, ca peut etre un symptome,
que les clients vpn entre eux ne se pinguent pas ou ne se joignent pas, ce n'est pas choquant, c'est le "client isolation" et plutot mieux
mais si sur ta machine VPN Serveur, tu as mis de l'iptables pour permettre à srv1/srv2 de sortir vers internet, tu as peut-etre mis des regles qui bloquent les flux montants non liés à une demande de la machine (donc les flux entrants).
il faut alors deja verifier que le proxy apache puisse pinguer et se connecter au port 80 et 443 des 2 SRV, ensuite revoir la config du proxy si y a besoin.
tu peux utiliser les outils
telnet
outcptraceroute
qui vont te permettre de voir si le flux passe, et eventuellement par ou.
ex :
telnet 10.8.0.2 80
outcptraceroute 10.8.0.2 80
[^] # Re: pas compris la question
Posté par Gorta . Évalué à 1.
En effet, telnet et traceroute ne passent pas…
Je regarde donc coté conf IPTABLES.
Encore merci pour ton aide précieuse :)
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.