Apacheの再起動時に「make_sock:アドレス[::]:443にバインドできませんでした」(tracとmod_wsgiのインストール)


92

SSL経由でtracとmod_wsgiをインストールしようとしています。手動でインストールしようとしましたが、うまくいきませんでしたので、trac-on-ubuntuをフォローし始めました。

代わりにgitを使用したいので、svnの部分をスキップしました。httpd.confの最初の編集後:

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

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

このエラーが発生するためだけにapacheを再起動しました:

* Restarting web server apache2                                                    

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

                                                                     [ OK ]

これらを行っても何も示されませんでした。

 netstat -anp | grep 443 
 fuser 443/tcp

これを実行しても、実行したgrepコマンド以外は何も生成されませんでした。

ps -aux | grep httpd

何も表示されていないのに、他の何かがポートを使用していると言っているのはなぜですか?

編集:あなたたちはこれを笑うつもりです。そこにあるべきではなかったports.confに余分なListen443がありました。それを取り除くことでこれは解決しました。


余分なListenステートメントを見つけました。私があなたの編集にたどり着くまで、可能な限りその原因を提案するつもりでした。:-)
グラハムダンプルトン2012

3
あなたはあなたの編集を答えに書き直してそれを受け入れることを望むかもしれません。これは、質問を「解決済み」としてマークするための推奨される方法であり、これ以上のサポートは必要ありません。
hasienda 2012

2
残念ながら、私はこの問題を持っていますが、「443を聞く」余分が...原因ではありません
Cerin

1
私はまったく同じ問題を抱えていました。最上位の443をports.confから削除し、apache2を再起動すると、すべて機能しました。
PrestonDocks 2016年

8年後、この問題に遭遇した彼の名前に言及したくない別の個人。そしてもちろん、8年後、スタックオーバーフローに到達したエラーメッセージを検索します。だから私はただメッセージを宣伝しなければならなかった;)
NMEニューメディアエンターテインメント

回答:


228

君たちはこれを笑うつもりだ。そこにあるべきではなかったports.confに余分なListen443がありました。それを取り除くことでこれは解決しました。


44
おかげで、私のものは/etc/httpd/conf.d/ssl.confにありました
Nabil Kadimi 2013年

15
.... 443を聞いて私はYUMでApacheを更新し、それが他で新しいssl.confファイルを作成
zzarbi

4
ありがとう...いつの日か、構成するのが複雑な頭痛の種ではない、apacheと同じくらい広く展開されているWebサーバーを望んでいます
Mike Pennington

3
私の場合、Centosでhttpdをアップグレードすると、ssl.confが再インストールされました...しかし、別の構成ファイルでListen443を宣言します。Puppetはssl.confを削除します...しかし、Puppetはpassenger / httpdの下で実行されます。したがって、パペットエージェントはssl.confを削除する機会がなかったため、ここで説明するように、2つのListen443ディレクティブがありました。
rfay 2014

1
certbotを実行しました。これにより、構成ファイルに別の443エントリが挿入されました。ありがとう!
セニカゴンザレス2018

16

回答ありがとうございます。apache2.4.xバージョンでは、yumコマンドを使用してssl_moduleをインストールした場合、httpd.conf(メイン)ファイルにポート:443を追加したくありません。

構成ファイルでポート443を見つけるには、

# 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

その行を削除するか、httpd.confファイルからコマンド(Listen 443)を実行するだけです。


1
これでうまくいきました!私の場合、そのエラーはyum update:-P
Pathros 2018

15

同じ問題があり、同じ方法で解決したので、これに別の答えを追加します。を使用してapache2にSSLをインストールしましたa2enmod ssl。これにより、次の場所に追加の構成が追加されたようです/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>

ディレクティブのListen 443後の最初のコメントをコメントアウトする必要がありましたNameVirtualHost *:443

NameVirtualHost *:443
#Listen 443

しかし、私はそれを許可して他の人にコメントすることもできると思っています。とにかく、解決策をありがとう:)


4

重複するListenディレクティブがなく、ポートで実行中のプロセスがない他のすべての人の場合:誤ってports.confをapache2.confに2回含めないようにします(マージが不適切だったために行ったように)。


3

私はApacheバージョン2.4.27を使用していますが、この問題もあり、変更によって解決しました

conf / extra / httpdahssl.conf、18行のコンテンツにコメント(443 httpsをリッスン)、正常に動作します。


この行にコメントすると、httpsを使用できますか?
ハムフリ

1

/etc/httpd/conf.dディレクトリのバックアップファイルに誤った名前を付けるという間違いを犯しました。READMEには、すべての.confファイルをアルファベット順に調べると記載されています。

ssl- < date > .conf(バックアップを意味する)を作成し、ssl.confの前にロードしていました。ssl- < date > .confに基づいて:443ポートをバインドし、ssl.confで失敗していました。

バックアップファイルの名前をssl.conf。< date >に変更すると、サービスは問題なく開始されました。

注意として、私が使用しているサーバーはRHEL6を実行しています


このようなことが起こったので、誰かに役立つ場合に備えて言及したいと思いました。ssl.confの名前を変更したので、letsencryptを使用するように設定されていることを思い出すことができました。後で、Apacheのマイナーアップデートだと思ったことが起こるのを許可しました。この更新により、ssl.confがconf.dに戻され、Listenステートメントで競合が発生します。警戒する以外は、これについて何をすべきかわからない。デフォルトのssl.confファイル名を使用し続けた場合、更新によってそれが破壊された可能性があります。
ブライアンドハティ

私は同じことをしましたが、Apacheを起動できませんでした。私はそのバックアップファイルを削除し、それが機能し始めました。この答えをありがとうございました、あなたは命の恩人です。
Umesh Patil

1

エラーの理由をもう1つ追加します。httpd.confに明示的に含めました

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

以前のワイルドカードに気づかなかった間

Include etc/apache24/extra/*.conf

443をgrepしても、これは見つかりません。


0

私はUbuntuを使用しています。apache2のsslモードを無効にしたところ、うまくいきました。

a2dismod ssl

その後、apache2を再起動しました。

service apache2 restart

0

私は以下をチェックして修正し、それを解決しました-

  1. httpd.confファイル /etc/httpd/conf/
  2. リスニングIPとポートを確認しました。 10.12.13.4:80
  3. 余分なリスニングポートを削除しました
  4. 取得するhttpdサービスを再起動しました

0

XAMPPを起動すると、windows7、phpeclipseで問題が発生します。私の解決策は:

  • 1. \ xampp \ apache \ conf \ httpd.conf-> line171-> #LoadModule ssl_module modules /mod_ssl.soをコメントアウトしました

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

または、443ポートを別のポートに変更できます


0

私はマシューの答えを出向しました

httpd-sslファイルの#Listen443にコメントすると、Apacheを開始できます

ファイルにはすでにVirtualHostのデフォルト:443があるため


0

代わりにhttpd.confで:

Listen *:443

あなたは書く必要がありますListen 127.0.0.1:443 それは私のために働きます。


127.0.0.1ローカルホストのループバックインターフェイスのみへの接続の受け入れを制限する場合にのみ、listenステートメントで使用します。Listen多くの人が述べているように、重複するステートメントを削除することが、より一般的な解決策です。に重複がある場合は*:443、一方を使用するように変更して127.0.0.1も、もう一方*:443は同じポートをにバインドしようとするため、実際には違いはありません127.0.0.1
グラハム・ダンプルトン2017年

0

同じ問題が発生しました。/etc/httpd/conf.dにあるssl.confの複数のコピーが原因でした。1つだけである必要があります。


申し訳ありませんが、これはコメントであり、回答ではありません。事件についてあなたが見つけた解決策についてもっと情報があれば、私たちに知らせてください。
RobertSは、
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.