Puncte:1

Proxy invers în Apache + CentOS pentru solicitările HTTPS către serverul web PostgREST

drapel gs

Aș dori să fac solicitări https către serverul meu web postgREST, care prin design nu acceptă https. Acum petrec câteva zile, nu știu mai mult...

Configurația mea

  • Serverul meu rulează pe CentOS 7.9.2009
  • Am un domeniu de site care folosește Wordpress pentru a-mi difuza conținutul home/myuser/public_html
  • Am configurat PostgREST 7.0.1 pe serverul meu care rulează pe portul 3000
  • Rulez Apache/2.4.51 (cPanel)

Problema mea

  • Următoarea cerere funcționează bine: http://my-domain.com:3000/my_db_table
  • Aș dori să rulez aceeași cerere ca: https://my-domain.com/api/my_db_table
  • Configurația mea Apache este într-un fișier „include”, pare să fie încărcat (deoarece apar erori când pun intenționat sintaxă greșită în acest fișier) și arată astfel:
<VirtualHost *:443>

    DocumentRoot /
    ServerName my-domain.com
    ServerAlias my-domain
    ErrorLog /home/myuser/public_html/api/error.log
    CustomLog /home/myuser/public_html/api/access.log combined

    SSLEngine on
    SSLUseStapling off
    SSLCertificateFile /etc/ssl/certs/server.my-domain.com.crt
    SSLCertificateKeyFile /etc/ssl/private/server.my-domain.com.key


    <Location /api/ >
         ProxyPreserveHost On
         ProxyPass http://localhost:3000/
         ProxyPassReverse http://localhost:3000/
         RequestHeader set X-Forwarded-Port "443"
         RequestHeader set X-Forwarded-Proto "https"
   </Location>
</VirtualHost>
  • alergare httpd -t se intoarce Sintaxa OK
  • după schimbările mele alerg sudo systemctl restart httpd
  • cand incerc apoi sa fac o cerere like curl -i https://my-domain.com/api/my_db_table Sunt redirecționat către pagina 404 a site-ului meu Wordpress
  • cel eroare.log fișierul meu de configurare apache nu include erori (a inclus erori de capsare pe care le-am rezolvat adăugând linia SSLUseCapsarea dezactivată în configurația mea)

nu mai stiu ce sa fac. Și pentru că nu am niciun jurnal de erori, nici nu știu cum să încep să-l depanez. M-aș bucura de orice indiciu pe care mi-ar putea oferi cineva.

Puncte:0
drapel ru

Adăugând la al doilea punct al răspunsul dat de shearn89, verificați dacă modulul mod_proxy_http este de asemenea instalat (utilizați a2enmod proxy_http pentru a-l instala).

Puncte:0
drapel cn

Câteva lucruri de verificat:

  1. SELinux rulează? Dacă da, este SEBoolean httpd_can_network_connect setat la 1?
  2. Este mod_proxy instalat?
  3. Este ceva de pe VirtualHost non-proxiat care utilizează calea /api? Ca și în, ar bloca apelurile către Locație? Răspuns mai bun: Cum să gestionați corect adresele URL relative cu un proxy invers

Nu un expert apache, dar astea mi-au venit in minte!

JoeBe avatar
drapel gs
Multumesc pentru raspuns. Cu toate acestea, probabil că pot exclude sugestiile dvs. (1) Nu, este dezactivat. (2) Rularea `httpd -M` îmi arată `proxy_module`, așa că pare a fi activat. (3) Tocmai am creat directorul `/api` în mediul meu wordpress în `home/myuser/public_html`, deci nu ar trebui să existe altceva decât acest proxy

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.