Ricerca nel sito web

Come cambiare la porta Nginx in Linux


Nginx è un server stabile open source che alimenta alcuni dei siti Web a più alto traffico oggi su Internet. Tra i servizi web, il server web Nginx può essere implementato con successo come bilanciatore del carico, proxy inverso web o server proxy POP e IMAP.

Per impostazione predefinita, il server Nginx HTTP ascolta la connessione in entrata e si collega alla porta 80, che rappresenta la porta web standard. Tuttavia, la configurazione TLS, che non è abilitata per impostazione predefinita in Nginx, ascolta connessioni sicure sulla porta 443.

Per fare in modo che il server HTTP Nginx ascolti le connessioni web in entrata su altre porte non standard, dobbiamo modificare il file di configurazione principale e modificare o aggiungere una nuova istruzione per riflettere questo fatto.

Nel sistema basato su Ubuntu e Debian, dobbiamo modificare il file /etc/nginx/sites-enabled/default e su RHEL e le distribuzioni basate su CentOS modificano il file /etc/nginx/nginx.conf.

Per cominciare, apri il file di configurazione di Nginx con un editor di testo e modifica il numero di porta come mostrato nell'estratto seguente.

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

In questo estratto configureremo il server HTTP Nginx per ascoltare le connessioni in entrata sulla porta 3200. Cerca la riga che inizia con l'istruzione listen nella direttiva del server e modifica la porta da 80 a 3200, come illustrato nell'immagine seguente.

listen 3200 default_server;

Dopo aver modificato l'istruzione della porta Nginx, è necessario riavviare il server Web per collegare la nuova porta alle distribuzioni Linux basate su Debian. Verifica la tabella dei socket di rete locale con netstat o il comando ss. La porta 3200 dovrebbe essere visualizzata nella tabella della rete locale del server.

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

Nella distribuzione Linux basata su CentOS o RHEL è necessario installare il pacchetto policycoreutils e aggiungere le seguenti regole richieste da SELinux affinché Nginx si associ alla nuova porta .

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

Infine riavvia il server HTTP Nginx per applicare le modifiche.

systemctl restart nginx.service 

Controllare i socket di ascolto delle tabelle di rete.

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

Per verificare se è possibile accedere al server web dai computer della tua rete, apri un browser e vai all'indirizzo IP o al nome di dominio del tuo server sulla porta 3200. Dovresti vedere la pagina Web predefinita di Nginx, come illustrato nello screenshot seguente.

http://sever.ip:3200 

Tuttavia, se non riesci a navigare sulla pagina Web Nginx, torna alla console del server e controlla le regole del firewall per consentire il traffico in entrata sulla porta 3200/tcp.