web-dev-qa-db-ja.com

SSLRequireSSLディレクティブを追加した後、HTTPSが機能しなくなりました

MacOS Server(5.2)でmacOS Sierra(10.12.2)を実行しているMac MiniServerがあります。これには、ポート80および443でリッスンするように設定された組み込みのApacheサーバーが付属しています。これは正常に機能します。ドキュメントには、HTTPとHTTPSの両方でアクセスできます。

ただし、.htaccessファイルでSSLRequireSSLディレクティブを使用すると、すぐに機能しなくなります。ブラウザでhttps://www.example.com/path/documentにアクセスすると、次のように表示されます。

禁止

このサーバー上の/ path/documentにアクセスする権限がありません。


www.example.comポート80のApacheサーバー

HTTPS /ポート443で提供されているにもかかわらず、エラーメッセージにポート80が記載されていることに注意してください(これをcurlで確認したので、ここではブラウザのリダイレクトは問題になりません)。しかし、これは可能性があります問題の原因に関連しています。

Apacheエラーログには、次の情報が表示されます。

[Sun Jan 29 16:38:07.674342 2017] [ssl:error] [pid 82204] [client 127.0.0.1:50195] AH02219:/ Users/Glorfindel/wwwroot/path/documentへのアクセスに失敗しました。理由:SSL接続が必要です

.htaccessファイル内の他のディレクティブは機能します(例:Options -Indexes)。

3
Glorfindel

Httpsにアクセスしていません。

表示されているエラーは、「www.example.comポート80のApacheサーバー」と明確に示しています。

本当にhttpsにアクセスしていることを確認し、httpに送信するリダイレクトがないことを確認してください(たとえば、ブラウザのWebコンソールを使用して)。

あなたのコメントに基づいて、ここに何が起こっているかを確認するためのヒントがあります:

curl -I https://www.example.com/path/document

これにより、アクセス権があるかどうか、および/またはhttpへのリダイレクトを取得している場合に、サーバーからキャッシュされていない回答が表示されます。

2
ezra-s