Configura apache per l'ascolto su porte diverse da 80


102

Uso il server centOS. Voglio configurare Apache per l'ascolto sulla porta 8079. Ho aggiunto la direttiva LISTEN 8079 in httpd.conf.
Ho aperto la porta 8079 in iptables e riavviato iptables. Ho persino interrotto il servizio iptables.

"netstat -nal | grep 8079" shows "tcp  0 0 :::8079 :::* LISTEN"

Se provo ad accedere http://localhost:8079o http://myserver.com:8079da quella macchina, posso accedere a quella pagina. MA da qualsiasi altra macchina non sono in grado di accedere al sito su qualsiasi porta diversa dalla 80. Sulla porta 80, funziona. Sulla porta 8079 non lo fa.

Cos'altro devo configurare?

Risposte:


138

In /etc/apache2/ports.conf, cambia la porta come

Listen 8079

Quindi vai su /etc/apache2/sites-enabled/000-default.conf

E cambia la prima riga come

<VirtualHost *: 8079>

Ora riavvia

sudo service apache2 restart

Apache ora ascolterà sulla porta 8079 e reindirizzerà a / var / www / html


1
No, solo il fastidioso messaggio "Questa pagina web non è disponibile". Giusto per chiarire, la porta 80 funziona perfettamente. Cambiare sia VirtualHost che Listen non lo risolve per me. (AWS ubuntu). A proposito, il motivo per cui ne ho bisogno per ascoltare una porta diversa è perché ho anche configurato nginx per ascoltare 80.
Tomer

1
domanda veloce: hai aperto la porta in entrata nei gruppi di sicurezza mentre dici di essere su Ubuntu AWS?
Shankar ARUL - jupyterdata.com

1
se c'è una riga NameVirtualHost *:80sopra Listen 80, cambia anche quella ......
Haider Ali

75

Apri il file httpd.conf nel tuo editor di testo. Trova questa linea:

Listen 80

e cambiarlo

Listen 8079

Dopo la modifica, salvala e riavvia apache.


3
si, ma ho detto nella prima riga che ho già provato questo "Ho aggiunto la direttiva LISTEN 8079 in httpd.conf": ((
vivek.m

Oh sory. Non l'ho visto. Puoi pubblicare file httpd.conf ovunque? E stai usando software di terze parti Wamp, Xampp, Appserv?
ismailperim

puoi ottenere httpd.conf qui fileuploading.net/860467 niente come WAMP, Xampp, Appserv. Tutto quello che ho fatto è compilare connettori apache, tomcat e jk dal sorgente e fare del mio meglio per farli funzionare insieme.
vivek.m

non ho trovato il problema :( tutto sembra normalmente. ho provato ad aggiungere la riga Listen 8076 nel mio server locale ma ha funzionato normalmente. Puoi provare a reimpostare apache se possibile?
ismailperim

2
Una cosa che tutti sembrano dimenticare quando rispondono a questo tipo di domande è menzionare il percorso del file. Il file si trova in /etc/apache2/ports.conf
Mateus Viccari

23

Era un problema con il firewall. C'era un firewall hardware che bloccava l'accesso a quasi tutte le porte. (La disattivazione del firewall software / SELinux bla bla non ha avuto alcun effetto)

Quindi ho scansionato le porte aperte e ho utilizzato la porta che era aperta.

Se stai affrontando lo stesso problema, esegui il seguente comando

sudo nmap -T Aggressive -A -v 127.0.0.1 -p 1-65000

Scansionerà tutte le porte aperte sul tuo sistema. Qualsiasi porta aperta è accessibile dall'esterno.

Rif .: Http://www.go2linux.org/which_service_or_program_is_listening_on_port


netstat -anp | grep apache2 (potresti vedere la porta di ascolto e il PID da questo se è in esecuzione Ubuntu)
ImranNaqvi

Il mio provider di servizi cloud aveva un firewall in cima che bloccava la porta. Controlla i firewall posizionati in modo diverso dal server di destinazione.
Yamada

16

Se hai bisogno di una porta di ascolto di apache diversa da 80, dovresti aggiungere il file successivo in Ubuntu

"/etc/apache2/ports.conf"

l'elenco delle porte di ascolto

Listen 80
Listen 81
Listen 82

Dopo devi andare sul tuo file di configurazione degli host virtuali e definire il prossimo

<VirtualHost *:80>
  #...v host 1
</VirtualHost>


<VirtualHost *:81>
  #...host 2
</VirtualHost>


<VirtualHost *:82>
  #...host 3
</VirtualHost>

7

Questo funziona per me su Centos

Primo: nel file /etc/httpd/conf/httpd.conf

Inserisci

Listen 8079 

dopo

Listen 80

Questo finché il tuo server non ascolta la porta 8079

Secondo: vai al tuo host virtuale per es. /etc/httpd/conf.d/vhost.conf

e aggiungi questo codice di seguito

<VirtualHost *:8079>
   DocumentRoot /var/www/html/api_folder
   ServerName example.com
   ServerAlias www.example.com
   ServerAdmin root@example.com
   ErrorLog logs/www.example.com-error_log
   CustomLog logs/www.example.com-access_log common
</VirtualHost>

Questo significa che quando vai al tuo www.example.com:8079reindirizzamento a

/ var / www / html / api_folder

Ma devi prima riavviare il servizio

sudo service httpd restart


2

Se utilizzi Apache su Windows :

  1. Controlla il nome del servizio Apache con Win+ R+ services.msc+ Enter(se non è ApacheX.Y, dovrebbe avere il nome del software che stai usando con apache, ad esempio: "wampapache64");
  2. Avvia un prompt dei comandi come amministratore (usare Win+ R+ cmd+ Enternon è sufficiente);
  3. Passa alla directory di Apache, ad esempio cd c:\wamp\bin\apache\apache2.4.9\bin:;
  4. Controlla se il file di configurazione è OK con: httpd.exe -n "YourServiceName" -t(sostituisci il nome del servizio con quello trovato al passaggio 1);
  5. Assicurati che il servizio sia arrestato: httpd.exe -k stop -n "YourServiceName"
  6. Inizia con: httpd.exe -k start -n "YourServiceName"
  7. Se inizia bene, il problema non è più lì, ma se ottieni:

    AH00072: make_sock: impossibile eseguire il binding all'indirizzo IP: PORT_NUMBER

    AH00451: nessuna presa di ascolto disponibile, spegnimento

    Se il numero di porta non è quello che volevi usare, apri il file di configurazione di Apache (es. C:\wamp\bin\apache\apache2.4.9\conf\httpd.confApri con un editor di codice o wordpad, ma non con blocco note - non legge correttamente le nuove righe) e sostituisci il numero sulla riga che inizia con Listencon il numero della porta che desideri, salvala e ripeti il ​​passaggio 6. Se è quella che volevi usare, continua:

  8. Controllare il PID del processo che sta utilizzando quella porta con Win+ R+ resmon+ Enter, fare clic sulla scheda Rete e poi sulla sottoscheda Porte ;
  9. Uccidilo con: taskkill /pid NUMBER /f(lo /fforza);
  10. Ricontrolla resmonper confermare che la porta ora è libera e ripeti il ​​passaggio 6.

Ciò garantisce che il servizio di Apache sia stato avviato correttamente, la configurazione sul file di configurazione degli host virtuali come menzionato da sarul (ad esempio :)C:\wamp\bin\apache\apache2.4.9\conf\extra\httpd-vhosts.conf è necessaria se si sta impostando il percorso dei file e anche cambiando la porta. Se si cambia di nuovo, ricordarsi di riavviare il servizio: httpd.exe -k restart -n "YourServiceName".


1

Per il server FC22

cd / etc / httpd / conf modifica httpd.conf [invio]

Cambia: Ascolta 80 per: Ascolta qualunque numero

Salva il file

systemctl riavvia httpd.service [invio] se richiesto, apri qualsiasi numero nel router / firewall

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.