“Make_sock: não foi possível ligar ao endereço [::]: 443” ao reiniciar o apache (instalando trac e mod_wsgi)

90

Estou tentando instalar o trac e o mod_wsgi sobre SSL. Tentei instalá-lo manualmente, mas não funcionou muito bem, então comecei a seguir o seguinte: trac-on-ubuntu

Eu pulei a parte svn porque gostaria de usar o git. Após a primeira edição do httpd.conf:

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

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

Reiniciei o apache apenas para obter este erro:

* Restarting web server apache2                                                    

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

                                                                     [ OK ]

Fazer isso não mostrou nada.

 netstat -anp | grep 443 
 fuser 443/tcp

Fazer isso não produziu nada, exceto o comando grep que executei:

ps -aux | grep httpd

Por que está dizendo que outra coisa está usando a porta quando não há nada aparecendo?

EDIT: Vocês vão rir disso. Eu tinha um Listen 443 extra no ports.conf que não deveria estar lá. Remover isso resolveu o problema.

barbatana de tubarão
fonte
Que bom que você encontrou a instrução Listen extra. Ia sugerir apenas essa como causa possível até chegar à sua edição. :-)
Graham Dumpleton
3
Você pode querer reescrever sua edição em uma resposta e aceitá-la. Esta é a forma recomendada de marcar uma questão como "resolvida" e não necessitando de muito mais suporte.
hasienda
2
Infelizmente, tenho esse problema, mas um extra "Ouça 443" não é a causa ...
Cerin,
1
Eu tive exatamente o mesmo problema. Removido o 443 principal do ports.conf, reiniciei o apache2 e tudo funcionou.
PrestonDocks de
8 anos depois e outro indivíduo que não quer citar seu nome se deparou com esse problema. E, claro, 8 anos depois, procurando a mensagem de erro que você encontrou no estouro da pilha. É por isso que eu apenas tive que colocar uma mensagem;)
NME New Media Entertainment

Respostas:

225

Vocês vão rir disso. Eu tinha um Listen 443 extra no ports.conf que não deveria estar lá. Remover isso resolveu o problema.

barbatana de tubarão
fonte
44
Obrigado, o meu foi em /etc/httpd/conf.d/ssl.conf
Nabil Kadimi
14
Eu atualizei o apache com o YUM, e ele criou um novo arquivo ssl.conf com outro listen 443 ....
zzarbi
3
Obrigado ... Algum dia, espero que um servidor web tão amplamente implantado como o apache que não seja uma dor de cabeça complicada de configurar
Mike Pennington
3
No meu caso, uma atualização do httpd no Centos causou a reinstalação do ssl.conf ... mas declaramos Listen 443 em um arquivo de configuração diferente. O Puppet remove ssl.conf ... mas o puppet é executado em passageiro / httpd. Portanto, o agente fantoche nunca teve a chance de remover o ssl.conf, então havia 2 diretivas Listen 443, conforme descrito aqui.
rfay
1
Executei o certbot, que inseriu outra entrada 443 em meu arquivo de configuração. Obrigado!
Senica Gonzalez
16

Obrigado por suas respostas, nas versões do apache 2.4.x se instalou ssl_module usando o comando yum, não deseja adicionar a porta : 443 no arquivo httpd.conf (principal),

Para descobrir a porta 443 nos arquivos de configuração,

# 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

Apenas remova a linha ou comande-a (Ouça 443) do arquivo httpd.conf .

Lakshmikandan
fonte
1
Isso funcionou! No meu caso, esse erro apareceu após yum update:-P
Pathros
15

Estou adicionando outra resposta para isso porque tive o mesmo problema e resolvi da mesma maneira: Eu instalei SSL no apache2 usando a2enmod ssl, que parece ter adicionado uma configuração extra em /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>

Tive que comentar o primeiro Listen 443após a NameVirtualHost *:443diretiva:

NameVirtualHost *:443
#Listen 443

Mas estou pensando que posso deixar e comentar os outros. De qualquer forma, obrigado pela solução :)

Matthieu
fonte
4

Para todos os outros que não possuem diretivas Listen duplicadas e nenhum processo em execução na porta: verifique se você não inclui acidentalmente ports.conf duas vezes em apache2.conf (como fiz devido a uma fusão incorreta).

Andreas Gohr
fonte
2

Eu uso apache versão 2.4.27, também tenho esse problema, resolvi através de modificação

o conf / extra / httpdahssl.conf, comente o conteúdo de 18 linhas (Ouça 443 https), funciona bem.

tao.zhang
fonte
1

Cometi o erro de nomear incorretamente um arquivo de backup no diretório /etc/httpd/conf.d. No README, afirma que percorre alfabeticamente todos os arquivos .conf.

Eu havia criado ssl- < date > .conf (destinado a ser um backup) e ele estava carregando antes de ssl.conf. Ele estava vinculando a porta: 443 com base no ssl- < date > .conf e falhando no ssl.conf.

Depois de renomear o arquivo de backup para ssl.conf. < Data >, o serviço foi iniciado sem problemas.

Como observação, o servidor em que estou executando o RHEL 6

Mike F
fonte
Algo assim aconteceu comigo, então pensei em mencioná-lo para o caso de ajudar alguém. Eu renomei ssl.conf para que eu pudesse lembrar que ele foi configurado para usar o letsencrypt. Mais tarde, permiti que acontecesse o que pensei ser uma pequena atualização do Apache. Essa atualização colocou ssl.conf de volta em conf.d, criando o conflito nas instruções Listen. Não tenho certeza do que fazer sobre isso, exceto estar vigilante. Se eu tivesse ficado com o nome de arquivo ssl.conf padrão, a atualização provavelmente o teria eliminado!
Brian Doherty
Eu fiz a mesma coisa e o Apache não conseguiu iniciar. Eu havia removido aquele arquivo de backup e ele começou a funcionar. Muito obrigado por esta resposta, você é um salva-vidas.
Umesh Patil
1

Deixe-me acrescentar mais um motivo para o erro. No httpd.conf incluí explicitamente

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

enquanto não percebeu o caractere curinga anterior

Include etc/apache24/extra/*.conf

Grepping 443 não encontrará isso.

Vladimir Botka
fonte
0

Estou usando o Ubuntu. Acabei de desabilitar o modo SSL do apache2 e funcionou para mim.

a2dismod ssl

e reiniciou o apache2.

service apache2 restart
Baran
fonte
0

Eu verifiquei e consertei o seguinte e resolvi -

  1. arquivo httpd.conf em /etc/httpd/conf/
  2. Foi verificado o IP de escuta e porta, por exemplo 10.12.13.4:80
  3. Porta (s) de escuta extra removida (s)
  4. Reiniciou o serviço httpd para tomar
Rajorshe Mistry
fonte
0

Eu encontro o problema no windows7, phpeclipse, quando inicio o XAMPP. Minha solução é:

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

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

ou você pode mudar a porta 443 para outra

XuLu
fonte
0

Apoiei a resposta de Matthieu

Eu comentei #Listen 443 no arquivo httpd-ssl e o apache pode ser iniciado

Porque o arquivo já tem o padrão VirtualHost : 443

Sitti Munirah Abdul Razak
fonte
0

Em vez disso, em httpd.conf:

Listen *:443

você precisa escrever Listen 127.0.0.1:443 Funciona para mim.

Aleksey Povar
fonte
Você só usaria 127.0.0.1em uma instrução de escuta se quisesse restringir a aceitação de conexões apenas à interface de loopback do host local. A remoção da Listeninstrução duplicada , conforme declarado por muitos, é a solução mais comum. Se você tivesse duplicatas, em *:443, então mudar uma para usar 127.0.0.1não deveria ter feito nenhuma diferença, já que a outra *:443ainda tentaria ligar a mesma porta 127.0.0.1.
Graham Dumpleton
0

Eu tive o mesmo problema, foi devido a várias cópias de ssl.conf em /etc/httpd/conf.d - Deve haver apenas uma.

Desconhecido
fonte
Desculpe dizer, mas este é um comentário, não uma resposta. Se você tiver mais informações sobre a solução o que descobriu sobre o caso, entre em contato conosco.
RobertS apoia Monica Cellio