Puncte:0

De ce serverul Nginx este inaccesibil, în ciuda faptului că porturile sunt deschise?

drapel jp

Sunt într-o situație foarte neobișnuită și am petrecut aproape 8 ore încercând să-mi dau seama care este problema.

Pregatirea

Am un server care rulează Debian 11. În interiorul acestui server, am configurat o mașină virtuală CentOS cu KVM. Mașina virtuală găzduiește o aplicație web complexă în spatele unui server Apache. Interfața de rețea a KVM-ului este NAT și, prin urmare, pentru a accesa aplicația web, am configurat regulile de redirecționare a porturilor folosind libvirt cârlige așa cum este descris aici:

https://wiki.libvirt.org/page/Networking#Forwarding_Incoming_Connections

Configurația mea trimite orice conexiuni de intrare la portul 443 către serverul Apache de pe mașina virtuală și aceasta funcționează bine.

De asemenea, am configurat un server Nginx pe mașina gazdă, deoarece intenționez să-l folosesc ca proxy invers. Voi găzdui o altă aplicație pe serverul gazdă pe portul 9000. Folosind Nginx pentru proxy invers, intenționez să redirecționez toate cererile către https://example.com către Mașina Virtuală și toate solicitările către https://example.com/app/ la aplicația web care rulează pe portul 9000.

Problema

Am instalat serverul Nginx după configurarea mașinii virtuale și a regulilor de redirecționare a portului corespunzătoare. Dar când încerc să rulez pagina de pornire a serverului Nginx, nu este accesibilă. Înțeleg că portul 443 este redirecționat către VM. Deci, încerc să mă încarc cu http://example.com așteaptă ca acesta să încarce pagina de pornire Nginx pe portul 80. Dar tot spune că site-ul web este inaccesibil.

Ce am incercat pana acum?

Am bănuit că regulile de redirecționare a portului de la gazdă la oaspete ar putea fi cauza principală aici. Așa că am schimbat regula de redirecționare a portului de la portul 443 la 8000. Deci orice solicitare către portul 8000 va fi redirecționată către serverul Apache de pe VM. Dar după ce a făcut acest lucru, portul 443 a devenit și el inaccesibil.

Am încercat să șterg complet iptables așa cum este descris aici:

Ștergeți și resetați iptables în Debian

Dar totuși, serverul Nginx rămâne inaccesibil.

De asemenea, foarte ciudat, după ștergerea iptables-ului, când încerc să accesez aplicația care rulează pe portul 9000 cu http://example.com:9000 primesc un 400 Eroare de solicitare greșită iar când schimb protocolul în https, pagina devine inaccesibilă.

Orice sfat ar fi de mare ajutor. Mulțumesc.

djdomi avatar
drapel za
Întrebările care caută ajutor pentru instalare, configurare sau diagnosticare trebuie să includă starea finală dorită, problema sau eroarea specifică, informații suficiente despre configurație și mediu pentru a o reproduce și soluțiile încercate. Întrebările fără o declarație clară a problemei nu sunt utile altor cititori și este puțin probabil să obțină răspunsuri bune.

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.