Wheezy を Jessie apache 2 にアップグレードすると SSL が機能しなくなる

Wheezy を Jessie apache 2 にアップグレードすると SSL が機能しなくなる

サーバーを Wheezy から Jessie にアップグレードしたら、Apache 2.4 が動作しなくなりました...

特にポート 443 には SSL がありません...。

telnet myhost 443
GET https://myhost
<html><meta http-equiv='Content-Type' content='text/html; charset=utf-8'/><body>Something in /var/www/html/index.html</body></html>>Connection closed by foreign host.

そのはず:

<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
<html><head>
<title>400 Bad Request</title>
</head><body>
<h1>Bad Request</h1>
<p>Your browser sent a request that this server could not understand.<br />
Reason: You're speaking plain HTTP to an SSL-enabled server port.<br />
 Instead use the HTTPS scheme to access this URL, please.<br />
</p>
</body></html>
Connection closed by foreign host.

SSLEngine はオンです - 昨日はすべて正常に動作していましたが、Jessie ではなく Wheezy でした...

* アップデート * 改めて考えてみると、:443 への接続は /var/log/apache2-ssl/access.log ではなく /var/log/apache2/access.log に記録されていることがわかりました。しかし、なぜでしょうか?

答え1

解決策を見つけるのは非常に困難でした...偶然だけがそれを見つけるのを助けました。

Apache2.4 には.conf拡張機能が必要です。

2 つのファイルがありました:/etc/apache2/sites-available/httpと 、/etc/apache2/sites-available/httpsそしてもちろん に同じシンボリック リンクがありました/etc/apache2/sites-enabled/

解決策を見つけようdefault-ssl.confと、シンボリックリンクを作成しましたが、うまくいきました。そこで、違いがどこにあるかを見つけるために、すべての行をコピーしましたが、何も見つかりませんでした。httpsを に名前変更しhttps.conf、シンボリックリンクを作成しましたが、これもうまくいきました!!!

最大の間違いは、 を使用せずに自分でシンボリックリンクを作成し、に名前を変更するまでサイトが存在しないというa2ensite結果になることです。httphttp.conf

6 時間検索しても何も見つからず... ため息... でも、これが他の誰かの役に立つかもしれません...

答え2

Apache 2.4 のリリースノートを読みましたか?

「特に、アクセス制御ディレクティブは大幅に変更されており、新しいディレクティブに手動で移行する必要があります。」

https://www.debian.org/releases/jessie/amd64/release-notes/ch-information.en.html#apache-httpd-incomat

答え3

承認構成を使用する場合にも同じ問題が発生しました。検出と変更が遅れます。

    <Directory /var/www/webalizer>
            Options Indexes FollowSymlinks MultiViews
    #       AllowOverride all
    #       Order allow,deny
            Require all granted
    </Directory>

古い設定はコメント (#) です。これで大丈夫ですか?

関連情報