Puncte:1

Eroare Apache 500 la proxy subdirectorul api

drapel au

Încerc să redirecționez cererea PUT pentru un anumit punct final către o altă gazdă.

Punctul final menționat se află sub /intern și acceptă numai cereri PUT. Celelalte puncte finale sub /intern va continua să fie deservit de gazda/serverul meu principal.

Am încercat să-l configurez folosind atât regulile de rescriere, cât și proxy-ul ([P]) steag și folosind ProxyPass directivă - toate rezultând într-o eroare internă de server 500 și cererea nu ajunge niciodată la noua gazdă

Aplicația mea client folosește un client REST simplu care nu poate gestiona redirecționările, așa că trebuie să folosesc un fel de proxy.

Jurnalele Apache arată următoarele

[Joi, 10 februarie 08:56:20.394444 2022] [rewrite:trace1] [pid 8579] mod_rewrite.c(480): [client XXX.XXX.XXX.XXX:XXXXXX] XXX.XXX.XXX.XXX - - [subdomeniu1 .mydomain.com/sid#55d4ed07ecb0][rid#55d4ed2c5f20/initial] continuă cu proxy-ul de solicitare proxy: https://subdomain2.mydomain.com/internal/my-endpoint [OK]

Iată configurația curentă pentru vhost specific

<VirtualHost *:80>
 ServerName subdomain1.mydomain.com
  ProxyPass /soap ajp://localhost:7007/soap retry=3
  ProxyPreserveHost On
  Redirect /  https://subdomain1.mydomain.com/
  ErrorLog /var/log/httpd/subdomain1_error
</VirtualHost>

<VirtualHost *:443>
  ServerName subdomain1.mydomain.com
  Options FollowSymlinks
  ProxyRequests On
  ProxyPreserveHost On
  #RewriteEngine On

  #RewriteCond %{REQUEST_URI} '^/internal/my-endpoint'
  #RewriteCond %{REQUEST_METHOD} ^(PUT)
  #RewriteRule "^/(.*)" "https://subdomain2.mydomain.com/internal/my-endpoint" [P]

  ProxyPass /internal/my-endpoint https://subdomain2.mydomain.com/internal/my-endpoint
  ProxyPassReverse /internal/my-endpoint https://subdomain2.mydomain.com/internal/my-endpoint
  ProxyPreserveHost On

  LogLevel alert rewrite:trace3
  CustomLog /var/log/httpd/subdomain1_access_log common
  ProxyPass / ajp://localhost:7007/ retry=3
  ProxyPassReverse / ajp://localhost:7007/ retry=3
  ProxyPreserveHost Off
  ErrorLog /var/log/httpd/subdomain1
  SSLEngine on
</VirtualHost>
Puncte:1
drapel au

Ok, după ce ai activat depanarea în jurnalele Apache, se pare că problema era legată de certificatele SSL, deoarece proxy-ul era către un server care accepta doar conexiuni HTTPS

A trebuit să actualizez configurația apache la cea de mai jos pentru a o face să funcționeze

<VirtualHost *:80>
 ServerName subdomain1.mydomain.com
  ProxyPass /soap ajp://localhost:7007/soap retry=3
  ProxyPreserveHost On
  Redirect /  https://subdomain1.mydomain.com/
  ErrorLog /var/log/httpd/subdomain1_error
</VirtualHost>

<VirtualHost *:443>
  ServerName subdomain1.mydomain.com
  Options FollowSymlinks
  ProxyRequests Off
  ProxyErrorOverride off
  ProxyPreserveHost On
######
  SSLEngine on
  SSLProxyEngine on
######

  ProxyPass /internal/my-endpoint https://subdomain2.mydomain.com/internal/my-endpoint
  ProxyPassReverse /internal/my-endpoint https://subdomain2.mydomain.com/internal/my-endpoint

  LogLevel alert rewrite:trace3
  CustomLog /var/log/httpd/subdomain1_access_log common
  ProxyPass / ajp://localhost:7007/ retry=3
  ProxyPassReverse / ajp://localhost:7007/ retry=3
  ProxyPreserveHost Off
  ErrorLog /var/log/httpd/subdomain1
  SSLEngine on
</VirtualHost>

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.