Kaip pakeisti „Nginx“ prievadą „Linux“.


Nginx yra atvirojo kodo stabilus serveris, kuris šiandien valdo kai kurias didžiausio srauto svetaines internete. Tarp žiniatinklio paslaugų „Nginx“ žiniatinklio serveris gali būti sėkmingai naudojamas kaip apkrovos balansavimo priemonė, atvirkštinis žiniatinklio tarpinis serveris arba kaip POP ir IMAP tarpinis serveris.

Pagal numatytuosius nustatymus Nginx HTTP serveris klauso įeinančio ryšio ir prisijungia prie 80 prievado, kuris yra standartinis žiniatinklio prievadas. Tačiau TLS konfigūracija, kuri pagal numatytuosius nustatymus „Nginx“ neįjungta, klausosi, ar nėra saugių ryšių 443 prievade.

Kad Nginx HTTP serveris įsiklausytų į gaunamus žiniatinklio ryšius kituose nestandartiniuose prievaduose, turime redaguoti pagrindinį konfigūracijos failą ir pakeisti arba pridėti naują teiginį, kad atspindėtų šį faktą.

Ubuntu ir Debian pagrįstose sistemose turime pakeisti failą /etc/nginx/sites-enabled/default ir RHEL ir CentOS pagrįsti platinimai redaguoja failą /etc/nginx/nginx.conf.

Norėdami pradėti, atidarykite Nginx konfigūracijos failą naudodami teksto rengyklę ir pakeiskite prievado numerį, kaip parodyta toliau pateiktoje ištraukoje.

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

Šioje ištraukoje sukonfigūruosime „Nginx“ HTTP serverį, kad jis įsiklausytų į gaunamus ryšius per prievadą 3200. Serverio direktyvoje ieškokite eilutės, kuri prasideda sakiniu klausymas, ir pakeiskite prievadą iš 80 į 3200, kaip parodyta toliau pateiktame paveikslėlyje.

listen 3200 default_server;

Pakeitę „Nginx“ prievado teiginį, turite iš naujo paleisti žiniatinklio serverį, kad galėtumėte prisijungti prie naujo prievado „Debian“ pagrindu veikiančiuose „Linux“ paskirstymuose. Patvirtinkite vietinio tinklo lizdų lentelę naudodami netstat arba ss komandą. Prievadas 3200 turėtų būti rodomas jūsų serverio vietinio tinklo lentelėje.

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

CentOS arba RHEL pagrįstame Linux platinime turite įdiegti policycoreutils paketą ir pridėti toliau nurodytas taisykles, kurių reikalauja SELinux, kad Nginx galėtų prisijungti prie naujo prievado .

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

Galiausiai iš naujo paleiskite Nginx HTTP serverį, kad pritaikytumėte pakeitimus.

systemctl restart nginx.service 

Patikrinkite tinklo lentelių klausymosi lizdus.

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

Norėdami patikrinti, ar žiniatinklio serverį galima pasiekti iš tinklo kompiuterių, atidarykite naršyklę ir eikite į savo serverio IP adresą arba domeno pavadinimą prie prievado 3200. Turėtumėte pamatyti numatytąjį „Nginx“ tinklalapį, kaip parodyta toliau pateiktoje ekrano kopijoje.

http://sever.ip:3200 

Tačiau, jei negalite naršyti „Nginx“ tinklalapio, grįžkite į serverio konsolę ir patikrinkite ugniasienės taisykles, leidžiančias įeinantį srautą per prievadą 3200/tcp.