Puncte:0

Nginx redirecționează tot traficul pe toate porturile, cu excepția portului 80

drapel ru

Am un nume de domeniu, să zicem exemplu.com înregistrată în Dynadot. Îl am, împreună cu subdomenii www.example.com și cloud.example.com indicați adresa mea IP prin înregistrările A. Am configurat câteva servere care sunt accesibile folosind acest nume de domeniu. De exemplu, serverul meu FTP poate fi accesat folosind exemplu.com:21. Am un server Node.js care rulează pe portul 80 și un Nextcloud server care rulează pe portul 85. Ultimul lucru pe care l-am configurat este un server Nginx, care ascultă pe portul 80. Iată configurația mea Nginx:

Server {
    asculta 80;
    nume_server cloud.example.com;

    Locație / {
        proxy_pass http://example.com:85;
    }
}

Server {
    asculta 80;
    nume_server www.example.com;

    Locație / {
        trece_proxy http://192.168.1.31;
    }
}

Server {
    asculta 80;
    nume_server example.com;

    Locație / {
        trece_proxy http://192.168.1.31;
    }
}

Ce face această configurație este:

  • Dacă un utilizator merge la exemplu.com sau www.example.com, le redirecționează către serverul meu Node.js.

  • Dacă un utilizator merge la cloud.example.com, le redirecționează către serverul meu Nextcloud, care este, de asemenea, accesibil de la exemplu.com:85.

  • Dacă un utilizator dorește să se conecteze la un alt server care rulează pe un alt port, poate utiliza example.com:<port>

Funcționează excelent, dar singura mea problemă este aceea ISP-ul meu blochează traficul de intrare pentru portul 80!

Am încercat să găsesc o soluție de ore, și singura mea opțiune este să folosesc GoDaddy. Îmi pot găzdui serverul Nginx pe GoDaddy, ceea ce indică exemplu.com și www.example.com către serverul meu Node.js și puncte cloud.example.com pe serverul meu Nextcloud. Acest lucru ar funcționa, dar înseamnă că exemplu.comsetările DNS ale lui ar trebui modificate într-o înregistrare A care să indice serverele GoDaddy. Toate acestea ar funcționa bine, dar înseamnă că nu mai pot accesa niciunul dintre celelalte servere ale mele, cum ar fi serverul meu FTP, deoarece exemplu.com:21 nu ar mai indica <IP-ul meu>:21, dar <GoDaddy Server IP>:21.

Mă gândeam, pentru a rezolva această problemă, aș putea să îmi configurez serverul Nginx astfel încât să facă ceea ce a făcut înainte, dar dacă un utilizator merge la exemplu.com cu ORICE port, altul decât portul 80, va redirecționa conexiunea către <my IP>:<port>. În acest fel, toate celelalte servere ale mele, cum ar fi serverul meu FTP, vor fi în continuare accesibile prin intermediul exemplu.com:21, dar portul 80 nu va fi blocat deoarece serverul Nginx care utilizează portul 80 este găzduit pe GoDaddy.

Totuși, nu știu dacă acest lucru este posibil cu Nginx.Dacă este, cum ar arăta configurația? Dacă nu este, ce alte opțiuni am? (Altul decât cumpărarea planului de afaceri al ISP-ului meu pentru a debloca portul 80)

djdomi avatar
drapel za
offtopic: Întrebările despre Server Fault trebuie să fie despre gestionarea sistemelor de tehnologie a informației într-un mediu de afaceri. Întrebările privind computerele de acasă și ale utilizatorilor finali pot fi adresate pe Super User,
drapel us
Nu ar trebui să utilizați FTP, este un risc de securitate.
Denes Garda avatar
drapel ru
@TeroKilkanen De ce să menționăm asta? În întrebarea mea, un server FTP a fost doar un exemplu. Comentariu în afara subiectului.
drapel us
Oferirea de sfaturi solide de securitate este întotdeauna la subiect.

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.