Puncte:0

Proxy invers în lanț pe Apache2 nu funcționează așa cum era de așteptat

drapel kr

Am încercat să configurez următorul lanț de redirecționări prin proxy invers folosind Apache2

# âââââââââââââââ†âââââââââââââââ†âââââââââââââ
# â Internet â
# â ââââââââââââââ†âââââââââ â
# â â â â
# â â client â â
# â âââââââââââââ¬â†âââââââââ â
# â â â
# â â â
# â â c.example.com â
# â â â
# â â â
# ââââââââââ¼âââââââ¼âââââââ ââââââââââââââââ¼â âââââââââââââââ†ââââ¼âââââââââ
# â â â â â
# â â âââââââââââââ†ââ¼âââââââââââââ†â â â
# â â â Gazdă publică â â â
# â â â pub.ip 123.123.123.123 â â â
# â â â âââââââââââ↽
# â â â â Proxy public â â â â
# â â â ââ¬âââââââââ↽
# â â â â int.ip 10.0.0.2 â â â â
# â â âââââ¼âââââââ†ââââââââââââââ¼â†â â â
# â â â â â â
# â â â â â â
# â ââââââââââââ¼ââ†âââââââââââââââ†âââ¼ââââââââââ€
# â â â â
# â â a.example.com â b.example.com â
# â â c.example.com â d.example.com â
# â â â â
# â â â â
# â â â â
# â â â â
# â âââââââââââââ¼â†âââââââââââââââ†ââââ¼ââââââââââ†;
# â â â â â â
# â â â â â â
# â â âââââââââ¼âââââââââ¼ââââââ ââ âââââââââ¼ââââ†ââ â â
# â â â Private-Host-1â â Private-Host-2â â â
# â â â âââââââââââ↽ â
# â â â âInner Proxyâ â â âInner Proxyâ â â â
# â â â âââ¬ââââââââ¬âââââââ¬ââ â ½ â
# â â â â â â â â â â â â
# â â âââââ¼ââââââââ¼â€ â⤠âââââ¼ââââââââ¼âââ ⤠â â
# â â â âc. âa. â â âb. âd. â â â
# â â â â â â â â â â â â
# â â â â â â â â â â â â
# â â â âââ¼âââ ââââ¼ââ â â âââ¼âââ ââââ¼ââ â â â
# â â â â â â â â â â â â â â â â
# â â â â â â â â â â â â â â â â
# â â â âsrv1â âsrv2â â â âsrv3â âsrv4â â
# â â â â10.1â â10.1â â â â10.1â â10.1â â â
# â â â â.0.2â â.0.3â â â â.0.4â â.0.5â â â â
# â â â ââââââ ââââââ â â ââââââ ââââââ â â â
# â â â containere â â containere â â â
# â â âââââââââââââ†ââ ââââââââââââ†âââ â â
# â â 10.0.0.3 10.0.0.4 â â
# â â â â
# â ââââââââââââââ†âââââââââââââââ†âââââââââââââââ†â
# â 1ntranet 10.0.0.0/24 â
# âââââââââââââââ†âââââââââââââââ†âââââââââââââââ†ââââââââââââââ

Fișierul meu de configurare este după cum urmează (la fel pentru gazdele publice și private, schimbați IP-ul după cum se potrivește)

# c-example-com.conf pe gazda publică

<IfModule mod_ssl.c>
  <VirtualHost *:443>
    ServerName c.example.com
    <Proxy *>
      Comanda refuzată, permiteți
      Permite de la toți
    </Proxy>
    Includeți /etc/letsencrypt/options-ssl-apache.conf
    SSLEngine activat
    SSLCertificateFile /etc/letsencrypt/live/c.example.com/fullchain.pem
    SSLCertificateKeyFile /etc/letsencrypt/live/c.example.com/privkey.pem
    ProxyRequests dezactivat
    ProxyPreserveHost activat
    SSLProxyEngine activat
    ProxyPass / https://10.0.0.3/ # pe gazda privată, aceasta ar fi 10.1.0.2 pentru toate celelalte permise
    ProxyPassReverse / https://10.0.0.3/
  </VirtualHost>
</IfModule>

<IfModule mod_ssl.c>
  <VirtualHost *:80>
    ServerName c.example.com
    <Proxy *>
      Comanda refuzată, permiteți
      Permite de la toți
    </Proxy>
    ProxyRequests dezactivat
    ProxyPreserveHost activat
    ProxyPass / http://10.0.0.3/
    ProxyPassReverse / http://10.0.0.3/
    RewriteEngine activat
</VirtualHost>
</IfModule>

<VirtualHost *:80>
  ServerName c.example.com
  <Proxy *>
    Comanda refuzată, permiteți
    Permite de la toți
  </Proxy>
  ProxyRequests dezactivat
  ProxyPreserveHost activat
  ProxyPass / http://10.0.0.3/
  ProxyPassReverse / http://10.0.0.3/
  RewriteEngine activat
  RewriteCond %{SERVER_NAME} =c.example.com
  RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

Fără gazdă publică, adică dacă gazda privată 1 este expusă la internet și IP-ul său public este mapat la numele domeniului și redirecționează către containerul srv1 printr-un singur proxy invers, atunci funcționează bine. Cu toate acestea, atunci când proxy-ul public este înlănțuit deasupra proxy-ului interior 1, atunci se întâmplă următoarele: 1). http://c.example.com afișează implicit index.html de Apache2 de la Public Host 2). https://c.example.com refuză să se conecteze.

Fiecare strat (gazdă publică, gazdă privată și server) are propriul său certificat SSL, dar acesta este secundar. În acest moment, nici măcar http nu funcționează. Vreo idee?

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.