Kako promijeniti Nginx port u Linuxu


Nginx je stabilni poslužitelj otvorenog koda koji pokreće neke od web stranica s najvećim prometom na Internetu danas. Među web uslugama Nginx web poslužitelj može se uspješno implementirati kao uravnoteživač opterećenja, web proverni proxy ili kao POP i IMAP proxy poslužitelj.

Prema zadanim postavkama, Nginx HTTP poslužitelj osluškuje dolaznu vezu i veže se na priključak 80, koji predstavlja standardni web priključak. Međutim, TLS konfiguracija, koja prema Nginxu nije omogućena prema zadanim postavkama, osluškuje sigurne veze na portu 443.

Kako bi Nginx HTTP poslužitelj mogao prisluškivati dolazne web veze na drugim nestandardnim priključcima, moramo urediti glavnu konfiguracijsku datoteku i promijeniti ili dodati novu izjavu koja odražava tu činjenicu.

U sustavu temeljenom na Ubuntuu i Debianu moramo izmijeniti/etc/nginx/sites-enabled/default datoteku, a na distribucijama temeljenim na RHEL i CentOS urediti /etc/nginx/nginx.conf datoteku.

Za početak otvorite konfiguracijsku datoteku Nginx pomoću uređivača teksta i promijenite broj porta kao što je prikazano u donjem odlomku.

# vi /etc/nginx/sites-enabled/default  [On Debian/Ubuntu]
# vi /etc/nginx/nginx.conf             [On CentOS/RHEL]

U ovom ćemo odlomku konfigurirati Nginx HTTP poslužitelj za preslušavanje dolaznih veza na portu 3200. Potražite liniju koja započinje izjavom listen u direktivi poslužitelja i promijenite port s 80 na 3200, kao što je prikazano u donja slika.

listen 3200 default_server;

Nakon promjene izjave o Nginx priključku, morate ponovno pokrenuti web poslužitelj kako biste se povezali na novi port na Linux distribucijama zasnovanim na Debianu. Provjerite tablicu lokalnih mrežnih utičnica pomoću naredbe netstat ili ss. Port 3200 trebao bi biti prikazan u tablici lokalne mreže vašeg poslužitelja.

# systemctl restart nginx
# netstat -tlpn| grep nginx
# ss -tlpn| grep nginx

U distribuciji Linuxa koja se temelji na CentOS-u ili RHEL-u morate instalirati paket policycoreutils i dodati pravila u nastavku koja traži SELinux za Nginx da se veže na novi priključak.

# yum install policycoreutils
# semanage port -a -t http_port_t -p tcp 3200
# semanage port -m -t http_port_t -p tcp 3200

Napokon ponovo pokrenite Nginx HTTP poslužitelj da biste primijenili promjene.

# systemctl restart nginx.service 

Provjerite utičnice za slušanje mrežnih tablica.

# netstat -tlpn| grep nginx
# ss -tlpn| grep nginx

Da biste provjerili može li se web poslužitelju pristupiti s računala u vašoj mreži, otvorite preglednik i dođite do IP adrese ili imena domene na poslužitelju na portu 3200. Trebali biste vidjeti zadanu web stranicu Nginxa, kao što je prikazano na donjoj snimci zaslona.

http://sever.ip:3200 

Međutim, ako ne možete pregledavati Nginx web stranicu, vratite se na konzolu poslužitelja i provjerite pravila vatrozida kako biste omogućili dolazni promet na portu 3200/tcp.