さて、私はこれまでSSL / HTTPSの経験がありませんでした。標準のHTTPしか扱っていません。最近、SSLが必要なサイトで作業を開始しました。もちろん、私は外に出て、その方法を調査し、始めました。SSL証明書を正常にインストールする段階に到達しました-緑の南京錠が表示され、サーバーがポート443でHTTPSリクエストに応答します。 SSL、ただし、それらはポート80 / HTTPで正常に見えました(HTTPをHTTPSにリダイレクトするまで)。
簡単に言うと、HTTPSサイトに完全にアクセスできますが、ページは送信されず、リクエストごとに404が送信されます。
/etc/apache2/sites-available/[name].conf
<VirtualHost *:80>
ServerName [serverName]
RewriteEngine On
RewriteCond %{HTTP:X-Forwarded-Proto} !https
RewriteRule ^ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=302]
</VirtualHost>
<VirtualHost *:443>
ServerName [serverName]
ServerAdmin [email]
DocumentRoot [docRoot]
# I know the following SSL cert stuff is correct
SSLEngine On
SSLCertificateFile [...]/[domain].crt
SSLCertificateKeyFile [...]/[certificate].key
SSLCertificateChainFile [...]/[theotherone].crt
ErrorLog ${APACHE_LOG_DIR}/[custom]_error.log
CustomLog ${APACHE_LOG_DIR}/[custom]_access.log combined
<Directory "[docRoot]">
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
</VirtualHost>
他に見たいことがあるかどうか、その他の詳細はわかりませんが、あれば教えてください。
編集:
なんらかの理由で構成ファイルを検索した後、HTTPSに接続すると、サーバーはデフォルトの構成(/ var / www /)でドキュメントルートを使用しますが、このデフォルトの構成はa2ensiteでは有効になっていません。これを引き起こしている構成がどこにあるのかわからないようです
Rewrite
あなたが悪いように構成リバースプロキシの背後にApacheを実行しようとしているように見えるのディレクティブは。Apacheがプロキシを介さずに直接ドメインにサービスを提供している場合は、すべてのRewrite
ディレクティブを削除し、それらを単一のに置き換えるだけRedirect
です。また、各リクエストの処理VirtualHost
を正確に確認できるように、それぞれに個別のログファイルを設定しますVirtualHost
。