Puncte:0

Configurarea reverse proxy nginx - 500 Internal Server Error

drapel mp

Încerc să configurez un server proxy invers folosind nginx 1.20.1 pe Fedora Server 35, dar tot ce am încercat până acum are ca rezultat o eroare:

[root@proxy nginx]# curl -I -H „Gazdă: www.example.com” http://10.0.19.1/
HTTP/1.1 500 Eroare internă server
Server: nginx/1.20.1
Data: miercuri, 10 noiembrie 2021 19:54:39 ​​GMT
Tip de conținut: text/html; set de caractere=UTF-8
Conexiune: păstrați-vă în viață
X-Powered-By: PHP/8.0.12

10.0.19.1 este adresa serverului nginx, iar 10.0.20.1 este un server Apache pe care încerc să îl proxy. Dacă rulez aceeași comandă curl ca mai sus, dar folosind 10.0.20.1 pentru URL, funcționează bine, așa că cred că este sigur să excludem problemele de conectivitate între cele două servere și orice problemă cu gazda Apache. Jurnalul de erori nginx este gol.

nginx -t Nu găsește probleme cu fișierele de configurare (reproduse mai jos). De asemenea, am setat SELinux la permisiv pentru moment pentru a elimina asta ca cauză.

Am creat o configurație simplă (non-proxy) de server pentru a testa, și asta a funcționat OK, așa că fiind nou în nginx, am senzația că aceasta este probabil o problemă foarte trivială cu fișierul meu proxy.conf.

nginx.conf:

utilizator nginx;
worker_proceses auto;
error_log /var/log/nginx/error.log warn;
pid /run/nginx.pid;

include /usr/share/nginx/modules/*.conf;

evenimente {
    conexiuni_muncitor 1024;
}

http {
    log_format principal „$remote_addr - $remote_user [$time_local] „$request” '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log /var/log/nginx/access.log principal;

    sendfile activat;
    tcp_nopush activat;
    tcp_nodelay activat;
    keepalive_timeout 65;
    types_hash_max_size 4096;

    includ /etc/nginx/mime.types;
    aplicație de tip_default/octet-stream;

    includ /etc/nginx/conf.d/*.conf;
}

conf.d/proxy.conf:

Server {
    asculta 80;
    nume_server www.example.com;
    Locație / {
        proxy_pass http://10.0.20.1;
    }
}
Richard Smith avatar
drapel jp
Ce server rulează PHP? Eroarea 500 vine de la PHP, așa cum puteți vedea în răspunsul de la `curl`.
drapel us
Aruncă o privire la `error.log` al serverului web proxy.
user3623992 avatar
drapel mp
Serverul proxy nu primește deloc solicitări - jurnalul de erori și jurnalul de acces sunt ambele goale.
user3623992 avatar
drapel mp
Presupun (știu, rău) că antetul PHP de acolo este pur și simplu pentru că am instalat nginx din depozitul Fedora și PHP este instalat ca dependență. Totuși, vorbesc ca cineva cu zero experiență anterioară cu nginx.

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.