"Make_sock: apache'yi yeniden başlatırken [::]: 443" adresine bağlanamadı (trac ve mod_wsgi'yi kurarken)


92

Trac ve mod_wsgi'yi SSL üzerinden kurmaya çalışıyorum. Manuel olarak yüklemeyi denedim, ancak bu o kadar iyi olmadı, bu yüzden şunu izlemeye başladım: trac-on-ubuntu

Svn bölümünü atladım çünkü onun yerine git kullanmak istiyorum. Httpd.conf'un ilk düzenlemesinden sonra:

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

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

Apache'yi yalnızca bu hatayı almak için yeniden başlattım:

* Restarting web server apache2                                                    

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

                                                                     [ OK ]

Bunları yapmak hiçbir şey göstermedi.

 netstat -anp | grep 443 
 fuser 443/tcp

Bunu yapmak, çalıştırdığım grep komutu dışında hiçbir şey vermedi:

ps -aux | grep httpd

Neden hiçbir şey görünmüyorken bağlantı noktasını başka bir şeyin kullandığını söylüyor?

DÜZENLEME: Siz buna güleceksiniz. Port.conf'ta orada olmaması gereken fazladan bir Listen 443 vardı. Bunu kaldırmak sorunu çözdü.


Güzel, ekstra Listen ifadesini buldun. Düzenlemenizi yapana kadar, mümkün olduğu kadar bunu önerecektim. :-)
Graham Dumpleton

3
Düzenlemenizi bir yanıta yeniden yazmak ve kabul etmek isteyebilirsiniz. Bu, bir soruyu "çözüldü" olarak işaretlemenin ve daha fazla desteğe ihtiyaç duymamanın önerilen yoludur.
hasienda

2
Ne yazık ki, bu sorun bende var, ancak bunun nedeni fazladan bir "Dinle 443" değil ...
Cerin

1
Ben tam olarak aynı problem vardı. En üstteki 443'ü ports.conf'dan kaldırdı, apache2'yi yeniden başlattı ve hepsi çalıştı.
PrestonDocks

8 yıl sonra ve adından bahsetmek istemeyen başka bir kişi bu sorunla karşılaştı. Ve tabii ki 8 yıl sonra, yığın taşmasına denk geldiğiniz hata mesajını ararken. Bu yüzden bir mesaj eklemek zorunda kaldım;)
NME New Media Entertainment

Yanıtlar:


228

Siz buna güleceksiniz. Port.conf'ta orada olmaması gereken fazladan bir Listen 443 vardı. Bunu kaldırmak sorunu çözdü.


44
Teşekkürler, benimki /etc/httpd/conf.d/ssl.conf
içindeydi

15
Apache'yi YUM ile güncelledim ve başka bir listen 443 ile yeni bir ssl.conf dosyası oluşturdu ....
zzarbi

4
Teşekkürler ... Bir gün, apache kadar geniş çapta konuşlandırılmış ve yapılandırılması için karmaşık bir baş ağrısı olmayan bir web sunucusu olmasını umuyorum
Mike Pennington

3
Benim durumumda, Centos'ta httpd'nin yükseltilmesi ssl.conf'un yeniden yüklenmesine neden oldu ... ancak Listen 443'ü farklı bir yapılandırma dosyasında ilan ediyoruz. Puppet ssl.conf'u kaldırır ... ancak kukla yolcu / httpd altında çalışır. Yani kukla ajanın ssl.conf dosyasını kaldırma şansı hiç olmadı, bu yüzden burada açıklandığı gibi 2 Listen 443 yönergesi vardı.
2014

1
Yapılandırma dosyama başka bir 443 girişi ekleyen certbot'u çalıştırdım. Teşekkürler!
Senica Gonzalez

16

Cevaplarınız için teşekkürler, apache 2.4.x sürümlerinde yum komutunu kullanarak ssl_module yüklediyseniz , httpd.conf (ana) dosyasında 443 numaralı bağlantı noktasını eklemek istemiyorum ,

Yapılandırma dosyalarında 443 numaralı bağlantı noktasını bulmak için,

# 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

Sadece satırı kaldırın veya httpd.conf dosyasından komut verin (Listen 443) .


1
Bu hile yaptı! Benim durumumda, bu hata a yum update:-P
Pathros

15

Aynı sorunu yaşadığım ve aynı şekilde çözdüğüm için buna başka bir cevap ekliyorum: apache2'yi kullanarak SSL'yi kurdum a2enmod ssl, bu da şuraya fazladan bir yapılandırma eklemiş görünüyor /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>

Direktiften Listen 443sonraki ilk yorumu yapmak zorunda kaldım NameVirtualHost *:443:

NameVirtualHost *:443
#Listen 443

Ama ben de buna izin verebilir ve diğerlerini yorumlayabilirim diye düşünüyorum. Her neyse, çözüm için teşekkürler :)


4

Yinelenen Listen yönergeleri ve bağlantı noktasında çalışan süreçleri olmayan diğer herkes için: apache2.conf içine yanlışlıkla ports.conf'u iki kez eklemediğinizi kontrol edin (hatalı bir birleştirme nedeniyle yaptığım gibi).


3

Apache 2.4.27 sürümünü kullanıyorum, bu sorunu da yaşıyorum, değiştirerek çözdüm

conf / extra / httpdahssl.conf, 18 satır içeriği yorumlayın (443 https Dinleyin), iyi çalışıyor.


Bu satırı yorumlarsanız https kullanabiliyor musunuz?
Hamfri

1

/Etc/httpd/conf.d dizinindeki bir yedekleme dosyasını yanlış adlandırarak hata yaptım. BENİOKU'da alfabetik olarak tüm .conf dosyalarından geçtiğini belirtir.

Ssl- < date > .conf'u oluşturdum (yedek olması gerekiyordu) ve ssl.conf'tan önce yükleniyordu. Ssl- < tarih > .conf temelinde: 443 bağlantı noktasını bağlıyordu ve ssl.conf'da başarısız oluyordu.

Yedekleme dosyasını ssl.conf. < Tarih > olarak yeniden adlandırdığımda, hizmet sorunsuz başladı.

Not olarak, bulunduğum sunucuda RHEL 6 çalışıyor


Böyle bir şey başıma geldi, bu yüzden birine yardımcı olur diye bundan bahsedeyim dedim. Letsencrypt kullanmak üzere kurulduğunu hatırlayabilmek için ssl.conf'u yeniden adlandırdım. Daha sonra, Apache'de küçük bir güncelleme olduğunu düşündüğüm şeyin olmasına izin verdim. Bu güncelleme ssl.conf'u conf.d'ye geri koyarak Listen deyimlerinde çakışma yarattı. Tetikte olmak dışında bu konuda ne yapacağınızdan emin değilim. Varsayılan ssl.conf dosya adına takılmış olsaydım, güncelleme muhtemelen onu bozardı!
Brian Doherty

Ben de aynı şeyi yaptım ve Apache başlayamadı. O yedekleme dosyasını kaldırdım ve çalışmaya başladı. Bu cevap için çok teşekkür ederim, sen bir hayat kurtarıcısın.
Umesh Patil

1

Hata için bir neden daha eklememe izin verin. Httpd.conf'a açıkça dahil ettim

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

önceki joker karakteri fark etmemişken

Include etc/apache24/extra/*.conf

Grepping 443 bunu bulamayacak.


0

Ubuntu kullanıyorum. Apache2'nin ssl modunu devre dışı bıraktım ve benim için çalıştı.

a2dismod ssl

ve sonra apache2'yi yeniden başlattı.

service apache2 restart

0

Aşağıdakileri kontrol edip düzelttim ve çözdüm -

  1. httpd.conf dosyasında /etc/httpd/conf/
  2. Dinleme IP'sini ve bağlantı noktasını kontrol ettim, örn. 10.12.13.4:80
  3. Ekstra dinleme bağlantı noktaları kaldırıldı
  4. Almak için httpd hizmetini yeniden başlattı

0

XAMPP'yi başlattığımda sorunu windows7, phpeclipse'de karşılıyorum. Benim çözümüm:

  • 1. \ xampp \ apache \ conf \ httpd.conf -> line171 -> #LoadModule ssl_module modülleri / mod_ssl.so

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

veya 443 bağlantı noktasını başka bir bağlantı noktasına değiştirebilirsiniz


0

Matthieu cevabını verdim

Httpd-ssl dosyasında #Listen 443 diye yorum yaptım ve apache başlatılabilir

Dosya zaten VirtualHost varsayılanına sahip olduğundan : 443


0

Bunun yerine httpd.conf içinde:

Listen *:443

yazmalısın Listen 127.0.0.1:443 Bu benim için çalışıyor.


Yalnızca 127.0.0.1yerel ana bilgisayar döngüsü geri arabirimine bağlantıların kabul edilmesini kısıtlamak istiyorsanız , yalnızca bir dinleme deyiminde kullanırsınız . ListenÇoğu kişi tarafından belirtildiği gibi yinelenen ifadenin kaldırılması daha tipik bir çözümdür. Eğer kopyalarınız varsa *:443, o zaman birini kullanmak için değiştirmek 127.0.0.1gerçekten bir fark yaratmamalıydı, çünkü diğeri *:443hala aynı bağlantı noktasını bağlamaya çalışacaktır 127.0.0.1.
Graham Dumpleton

0

Aynı sorunu yaşadım, ssl.conf'un /etc/httpd/conf.d dosyasındaki birden fazla kopyasından kaynaklanıyordu - Yalnızca bir tane olmalı.


Üzgünüm ama bu bir yorum, cevap değil. Çözüm hakkında daha fazla bilgiye sahipseniz, vaka hakkında bulduklarınızı lütfen bize bildirin.
RobertS, Monica Cellio'yu
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.