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
)。
Httpsにアクセスしていません。
表示されているエラーは、「www.example.comポート80のApacheサーバー」と明確に示しています。
本当にhttpsにアクセスしていることを確認し、httpに送信するリダイレクトがないことを確認してください(たとえば、ブラウザのWebコンソールを使用して)。
あなたのコメントに基づいて、ここに何が起こっているかを確認するためのヒントがあります:
curl -I https://www.example.com/path/document
これにより、アクセス権があるかどうか、および/またはhttpへのリダイレクトを取得している場合に、サーバーからキャッシュされていない回答が表示されます。