"Make_sock: impossible de se lier à l'adresse [::]: 443" lors du redémarrage d'Apache (installation de trac et mod_wsgi)

92

J'essaye d'installer trac et mod_wsgi sur SSL. J'ai essayé de l'installer manuellement, mais cela n'a pas très bien fonctionné alors j'ai commencé à suivre ceci: trac-on-ubuntu

J'ai sauté la partie svn parce que j'aimerais utiliser git à la place. Après la première modification de httpd.conf:

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

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

J'ai redémarré Apache uniquement pour obtenir cette erreur:

* Restarting web server apache2                                                    

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

                                                                     [ OK ]

Faire cela n'a rien montré.

 netstat -anp | grep 443 
 fuser 443/tcp

Faire cela n'a rien donné sauf la commande grep que j'ai exécutée:

ps -aux | grep httpd

Pourquoi dit-il que quelque chose d'autre utilise le port alors que rien n'apparaît?

EDIT: Vous allez rire de ça les gars. J'avais un Listen 443 supplémentaire dans ports.conf qui n'aurait pas dû être là. Supprimer cela a résolu ce problème.

aileron de requin
la source
Bien, vous avez trouvé la déclaration Listen supplémentaire. J'allais suggérer juste cela comme cause possible jusqu'à ce que j'arrive à votre modification. :-)
Graham Dumpleton
3
Vous voudrez peut-être réécrire votre modification dans une réponse et l'accepter. C'est la méthode recommandée pour marquer une question comme "résolue" et ne nécessitant pas beaucoup plus de support.
hasienda
2
Malheureusement, j'ai ce problème, mais un "Listen 443" supplémentaire n'est pas la cause ...
Cerin
1
J'ai eu exactement le même problème. Suppression des 443 premiers de ports.conf, redémarrage d'apache2 et tout a fonctionné.
PrestonDocks
8 ans plus tard et un autre individu qui ne veut pas mentionner son nom rencontre ce problème. Et bien sûr 8 ans plus tard, à la recherche du message d'erreur que vous atterrissez sur le débordement de pile. C'est pourquoi je devais juste publier un message;)
NME New Media Entertainment

Réponses:

228

Vous allez rire de ça les gars. J'avais un Listen 443 supplémentaire dans ports.conf qui n'aurait pas dû être là. Supprimer cela a résolu ce problème.

aileron de requin
la source
44
Merci, le mien était dans /etc/httpd/conf.d/ssl.conf
Nabil Kadimi
15
J'ai mis à jour apache avec YUM, et il a créé un nouveau fichier ssl.conf avec un autre écoute 443 ....
zzarbi
4
Merci ... Un jour, j'espère un serveur Web aussi largement déployé qu'apache qui ne soit pas un casse-tête alambiqué à configurer
Mike Pennington
3
Dans mon cas, une mise à jour de httpd sur Centos a provoqué la réinstallation de ssl.conf ... mais nous déclarons Listen 443 dans un fichier de configuration différent. Puppet supprime ssl.conf ... mais puppet fonctionne sous passager / httpd. Ainsi, l'agent marionnette n'a jamais eu la possibilité de supprimer le ssl.conf, il y avait donc 2 directives Listen 443, comme décrit ici.
rfay
1
J'ai exécuté certbot, qui a inséré une autre entrée 443 dans mon fichier de configuration. Merci!
Senica Gonzalez
16

Merci pour vos réponses, sur les versions apache 2.4.x si vous avez installé ssl_module en utilisant la commande yum, vous ne voulez pas ajouter le port : 443 dans le fichier httpd.conf (main),

Pour connaître le port 443 dans les fichiers de configuration,

# 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

Supprimez simplement la ligne ou commandez-la (Listen 443) de fichier httpd.conf .

lakshmikandan
la source
1
Cela a fait l'affaire! Dans mon cas, cette erreur est apparue après un yum update:-P
Pathros
15

J'ajoute une autre réponse à cela car j'ai eu le même problème et je l'ai résolu de la même manière: j'avais installé SSL sur apache2 en utilisant a2enmod ssl, ce qui semble avoir ajouté une configuration supplémentaire dans /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>

J'ai dû commenter le premier Listen 443après la NameVirtualHost *:443directive:

NameVirtualHost *:443
#Listen 443

Mais je pense que je peux aussi bien le laisser et commenter les autres. Quoi qu'il en soit, merci pour la solution :)

Matthieu
la source
4

Pour tous les autres qui n'ont pas de directives Listen dupliquées et pas de processus en cours d'exécution sur le port: vérifiez que vous n'incluez pas accidentellement ports.conf deux fois dans apache2.conf (comme je l'ai fait à cause d'une mauvaise fusion).

Andreas Gohr
la source
3

J'utilise la version 2.4.27 d'Apache, j'ai également ce problème, je l'ai résolu en modifiant

le conf / extra / httpdahssl.conf, commentez le contenu de 18 lignes (Listen 443 https), cela fonctionne très bien.

tao.zhang
la source
Pouvez-vous utiliser https si vous commentez cette ligne?
Hamfri
1

J'ai fait l'erreur de nommer incorrectement un fichier de sauvegarde dans le répertoire /etc/httpd/conf.d. Dans le README, il indique qu'il parcourt par ordre alphabétique tous les fichiers .conf.

J'avais créé ssl- < date > .conf (censé être une sauvegarde) et il se chargeait avant ssl.conf. Il liait le port: 443 basé sur ssl- < date > .conf et échouait sur ssl.conf.

Une fois que j'ai renommé le fichier de sauvegarde en ssl.conf. < Date >, le service a démarré sans problème.

À noter, le serveur sur lequel je suis utilise RHEL 6

Mike F
la source
Quelque chose comme ça m'est arrivé, alors j'ai pensé le mentionner au cas où cela aiderait quelqu'un. J'ai renommé ssl.conf pour pouvoir me souvenir qu'il a été configuré pour utiliser letsencrypt. Plus tard, j'ai autorisé ce que je pensais être une mise à jour mineure d'Apache. Cette mise à jour a remis ssl.conf dans conf.d, créant le conflit dans les instructions Listen. Je ne sais pas quoi faire à ce sujet, sauf être vigilant. Si j'étais resté avec le nom de fichier par défaut ssl.conf, la mise à jour l'aurait probablement écrasé!
Brian Doherty
J'ai fait la même chose et Apache n'a pas pu démarrer. J'avais supprimé ce fichier de sauvegarde et il a commencé à fonctionner. Merci beaucoup pour cette réponse, vous sauvez la vie.
Umesh Patil
1

Permettez-moi d'ajouter une autre raison à l'erreur. Dans httpd.conf, j'ai inclus explicitement

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

alors que je n'ai pas remarqué le joker précédent

Include etc/apache24/extra/*.conf

Grepping 443 ne trouvera pas cela.

Vladimir Botka
la source
0

J'utilise Ubuntu. Je viens de désactiver le mode SSL d'apache2 et cela a fonctionné pour moi.

a2dismod ssl

puis redémarré apache2.

service apache2 restart
Baran
la source
0

J'ai vérifié et corrigé ce qui suit et je l'ai résolu -

  1. httpd.conf sur /etc/httpd/conf/
  2. Vérifié l'adresse IP et le port d'écoute, par exemple 10.12.13.4:80
  3. Port (s) d'écoute supplémentaire (s) supprimé (s)
  4. Redémarré le service httpd pour prendre
Rajorshe Mistry
la source
0

Je rencontre le problème dans windows7, phpeclipse, lorsque je démarre le XAMPP. Ma solution est:

  • 1.Commenté le \ xampp \ apache \ conf \ httpd.conf -> line171 -> #LoadModule ssl_module modules / mod_ssl.so

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

ou vous pouvez changer le port 443 en un autre

XuLu
la source
0

J'ai appuyé la réponse de Matthieu

J'ai commenté #Listen 443 dans le fichier httpd-ssl et apache peut être démarré

Parce que le fichier a déjà la valeur par défaut de VirtualHost : 443

Sitti Munirah Abdul Razak
la source
0

Dans httpd.conf à la place:

Listen *:443

vous avez besoin d'écrire Listen 127.0.0.1:443 Cela fonctionne pour moi.

Aleksey Povar
la source
Vous ne l'utiliseriez 127.0.0.1dans une instruction d'écoute que si vous vouliez restreindre l'acceptation des connexions à l'interface de boucle de l'hôte local uniquement. La suppression de la Listendéclaration en double comme indiqué par beaucoup est la solution la plus typique. Si vous aviez des doublons, activé, *:443changer l'un pour l'utiliser 127.0.0.1n'aurait pas vraiment dû faire de différence car l'autre *:443essaierait toujours de lier le même port 127.0.0.1.
Graham Dumpleton
0

J'ai eu le même problème, était dû à plusieurs copies de ssl.conf Dans /etc/httpd/conf.d - Il ne devrait y en avoir qu'une.

Inconnue
la source
Désolé de le dire, mais ceci est un commentaire, pas une réponse. Si vous avez plus d'informations sur la solution, ce que vous avez découvert sur le cas, merci de nous le faire savoir.
RobertS soutient Monica Cellio