"Make_sock: impossibile eseguire il binding all'indirizzo [::]: 443" quando si riavvia apache (installazione di trac e mod_wsgi)


92

Sto cercando di installare trac e mod_wsgi su SSL. Ho provato a installarlo manualmente, ma non ha funzionato così bene, quindi ho iniziato a seguire questo: trac-on-ubuntu

Ho saltato la parte svn perché preferirei usare git. Dopo la prima modifica di httpd.conf:

WSGIScriptAlias /trac /var/trac/apache/trac.wsgi

<Directory /var/trac/apache>
    WSGIApplicationGroup %{GLOBAL}
    Order deny,allow
    Allow from all
</Directory>

Ho riavviato Apache solo per ottenere questo errore:

* Restarting web server apache2                                                    

(98)Address already in use: make_sock: could not bind to address [::]:443

                                                                     [ OK ]

Fare questi non ha mostrato nulla.

 netstat -anp | grep 443 
 fuser 443/tcp

In questo modo non ho prodotto nulla tranne il comando grep che ho eseguito:

ps -aux | grep httpd

Perché sta dicendo che qualcos'altro sta usando la porta quando non viene visualizzato nulla?

EDIT: Voi ragazzi riderete di questo. Avevo un Listen 443 extra in ports.conf che non avrebbe dovuto esserci. Rimuoverlo ha risolto il problema.


Bene, hai trovato la dichiarazione Listen in più. Stavo per suggerire solo quella possibile causa finché non sono arrivato alla tua modifica. :-)
Graham Dumpleton

3
Potresti riscrivere la tua modifica in una risposta e accettarla. Questo è il modo consigliato per contrassegnare una domanda come "risolta" e non necessita di ulteriore supporto.
hasienda

2
Purtroppo ho questo problema, ma un "Listen 443" in più non è la causa ...
Cerin

1
Ho avuto esattamente lo stesso problema. Rimosso il 443 più alto da ports.conf, riavviato apache2 e tutto ha funzionato.
Preston Dock

8 anni dopo e un altro individuo che non vuole menzionare il suo nome si imbatte in questo problema. E ovviamente 8 anni dopo, alla ricerca del messaggio di errore, ti trovi in ​​overflow dello stack. Ecco perché dovevo solo inserire un messaggio;)
NME New Media Entertainment

Risposte:


228

Ragazzi, riderete di questo. Avevo un Listen 443 extra in ports.conf che non avrebbe dovuto esserci. Rimuoverlo ha risolto il problema.


44
Grazie, il mio era in /etc/httpd/conf.d/ssl.conf
Nabil Kadimi

15
Ho aggiornato apache con YUM e ha creato un nuovo file ssl.conf con un altro ascolto 443 ....
zzarbi

4
Grazie ... Un giorno, spero in un server web ampiamente distribuito come apache che non sia un mal di testa contorto da configurare
Mike Pennington

3
Nel mio caso, un aggiornamento di httpd su Centos ha causato la reinstallazione di ssl.conf ... ma dichiariamo Listen 443 in un file di configurazione diverso. Puppet rimuove ssl.conf ... ma puppet viene eseguito sotto passenger / httpd. Quindi l'agente fantoccio non ha mai avuto la possibilità di rimuovere ssl.conf, quindi c'erano 2 direttive Listen 443, come descritto qui.
rfay

1
Ho eseguito certbot, che ha inserito un'altra voce 443 nel mio file di configurazione. Grazie!
Senica Gonzalez

16

Grazie per le vostre risposte, sulle versioni di apache 2.4.x se avete installato ssl_module usando il comando yum, non voglio aggiungere la porta : 443 nel file httpd.conf (main)

Per scoprire la porta 443 nei file di configurazione,

# grep '443' /etc/httpd/conf.d/*

/etc/httpd/conf.d/ssl.conf:Listen 443 https
/etc/httpd/conf.d/ssl.conf:<VirtualHost _default_:443>
/etc/httpd/conf.d/ssl.conf:#ServerName www.example.com:443

# grep '443' /etc/httpd/conf/httpd.conf 
Listen 443

Basta rimuovere la riga o ordinarla (Listen 443) dal file httpd.conf .


1
Questo ha funzionato! Nel mio caso, yum update
quell'errore

15

Sto aggiungendo un'altra risposta a questo perché ho avuto lo stesso problema e l'ho risolto allo stesso modo: avevo installato SSL su apache2 utilizzando a2enmod ssl, che sembra aver aggiunto una configurazione extra in /etc/apache2/ports.conf:

NameVirtualHost *:80
Listen 80

NameVirtualHost *:443
Listen 443

<IfModule mod_ssl.c>
    Listen 443
</IfModule>

<IfModule mod_gnutls.c>
    Listen 443
</IfModule>

Ho dovuto commentare il primo Listen 443dopo la NameVirtualHost *:443direttiva:

NameVirtualHost *:443
#Listen 443

Ma penso che posso anche lasciarlo e commentare gli altri. Comunque, grazie per la soluzione :)


4

Per tutti gli altri che non hanno direttive Listen duplicate e nessun processo in esecuzione sul port: controlla di non includere accidentalmente ports.conf due volte in apache2.conf (come ho fatto io a causa di una cattiva unione).


3

Uso apache versione 2.4.27, ho anche questo problema, l'ho risolto tramite modifica

il conf / extra / httpdahssl.conf, commenta il contenuto di 18 righe (Ascolta 443 https), funziona bene.


Riesci a usare https se commenti questa riga?
Hamfri

1

Ho commesso l'errore di nominare in modo errato un file di backup nella directory /etc/httpd/conf.d. Nel README si afferma che scorre alfabeticamente tutti i file .conf.

Avevo creato ssl- < date > .conf (pensato per essere un backup) e veniva caricato prima di ssl.conf. Stava vincolando la porta: 443 in base a ssl- < date > .conf e non funzionando su ssl.conf.

Dopo aver rinominato il file di backup in ssl.conf. < Date >, il servizio è stato avviato senza problemi.

Come nota, il server su cui mi trovo esegue RHEL 6


Qualcosa del genere è successo a me, quindi ho pensato di menzionarlo nel caso in cui aiutasse qualcuno. Ho rinominato ssl.conf in modo da ricordare che è stato impostato per utilizzare letsencrypt. Successivamente, ho permesso che accadesse quello che pensavo fosse un aggiornamento minore di Apache. Quell'aggiornamento ha rimesso ssl.conf in conf.d, creando il conflitto nelle istruzioni Listen. Non sono sicuro di cosa fare al riguardo, tranne essere vigili. Se fossi rimasto bloccato con il nome del file ssl.conf predefinito, probabilmente l'aggiornamento lo avrebbe cancellato!
Brian Doherty

Ho fatto la stessa cosa e Apache non ha potuto avviarsi. Avevo rimosso il file di backup e ha iniziato a funzionare. Grazie mille per questa risposta, sei un salvavita.
Umesh Patil

1

Vorrei aggiungere un motivo in più per l'errore. In httpd.conf ho incluso esplicitamente

Include etc/apache24/extra/httpd-ssl.conf

mentre non ha notato il jolly precedente

Include etc/apache24/extra/*.conf

Grepping 443 non lo troverà.


0

Sto usando Ubuntu. Ho appena disabilitato la modalità SSL di apache2 e ha funzionato per me.

a2dismod ssl

e quindi riavviato apache2.

service apache2 restart

0

Ho controllato e corretto quanto segue e l'ho risolto:

  1. file httpd.conf in /etc/httpd/conf/
  2. Controllato l'IP in ascolto e la porta es 10.12.13.4:80
  3. Porte di ascolto extra rimosse
  4. Riavviato il servizio httpd da prendere

0

Incontro il problema in windows7, phpeclipse, quando avvio XAMPP. La mia soluzione è:

  • 1.Commentato in \ xampp \ apache \ conf \ httpd.conf -> line171 -> #LoadModule ssl_module modules / mod_ssl.so

  • 2.line539 -> #Include conf / extra / httpd-ssl.conf

oppure puoi cambiare la porta 443 con un'altra


0

Ho appoggiato la risposta di Matthieu

Ho commentato #Listen 443 nel file httpd-ssl e apache può essere avviato

Poiché il file ha già l' impostazione predefinita di VirtualHost : 443


0

In httpd.conf invece:

Listen *:443

devi scrivere Listen 127.0.0.1:443 Funziona per me.


Si utilizzerebbe 127.0.0.1in un'istruzione di ascolto solo se si desidera limitare l'accettazione delle connessioni solo all'interfaccia del loop dell'host locale. La rimozione di Listendichiarazioni duplicate come affermato da molti è la soluzione più tipica. Se avessi duplicati, *:443allora cambiarne uno da usare 127.0.0.1non avrebbe dovuto fare la differenza poiché l'altro *:443avrebbe comunque provato a collegarsi alla stessa porta 127.0.0.1.
Graham Dumpleton

0

Ho avuto lo stesso problema, era dovuto a più copie di ssl.conf in /etc/httpd/conf.d - Ce ne dovrebbe essere solo una.


Mi dispiace dirlo, ma questo è un commento, non una risposta. Se hai maggiori informazioni sulla soluzione di ciò che hai scoperto sul caso, faccelo sapere.
RobertS supporta Monica Cellio il
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.