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.com
setă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)