HTTPS не поддерживает t больше не работает после добавления директивы SSLRequireSSL

У меня есть Mac Mini Server, на котором установлена ​​macOS Sierra (10.12.2) с macOS Server (5.2). Он поставляется со встроенным сервером Apache, который настроен на прослушивание портов 80 и 443. Это прекрасно работает; документы доступны как по HTTP, так и по HTTPS.

Однако, как только я использую директиву SSLRequireSSL в файле .htaccess, она перестает работать. В браузере при доступе к https://www.example.com/path/document я вижу следующее:

Запрещено

У вас нет разрешения на доступ к / path / document на этом сервере.


Сервер Apache на www. example.com Порт 80

Обратите внимание, что в сообщении об ошибке упоминается порт 80, хотя он обслуживается через HTTPS / порт 443 (я проверил это с помощью curl - поэтому перенаправления браузера здесь не проблема). Но это могло быть связано с источником проблемы.

В журнале ошибок Apache отображается следующее:

[Вс, 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
задан 31 January 2017 в 21:33
1 ответ

У вас нет доступа к https.

Отображаемая вами ошибка четко говорит: «Сервер Apache на www.example.com, порт 80»

Убедитесь, что вы действительно используете https, убедитесь, что нет перенаправлений, которые отправляют вас на http (например, с помощью веб-консоли вашего браузера).

На основании ваших комментариев , вот подсказка, чтобы увидеть, что происходит:

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

Это покажет вам некэшированный ответ с вашего сервера, если у вас есть доступ или нет, и / или если вы получаете перенаправление на http.

2
ответ дан 3 December 2019 в 06:57

Теги

Похожие вопросы