Вход в Drupal 7 не работает на NGINX после включения SSL с Letsencrypt

Я следовал отличному учебнику по Digital Ocean, и сертификат SSL подтверждает, что он действителен. Однако логин Drupal для доступа к администратору больше не активируется, и страница просто перезагружается. Я включил отладку для журналов NGINX и ниже приведены результаты. Он заканчивается: *recv() не готов (11: ресурс временно недоступен). *

Что странно, наш сайт на Drupal работает просто отлично. Когда я сравниваю логи, единственная разница в том, что это появляется на сайте разработчика:

4 http строка запроса: "POST / пользовательский HTTP/1.1"

Ниже приведены подробные журналы отладки. Какие-либо предложения? Ниже приведены результаты curl -vvv на странице входа. Также nginx/1.4.6 (Ubuntu)

 2016/01/21 11:38:56 [debug] 12534#0: *6467 записать новый буфер:1 f:0 00000000025F8510, pos 00000000025F8510, размер: 239, файл: 0, размер: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 http фильтр записи: l:0 f:0 s:239
2016/01/21 11:38:56 [debug] 12534#0: *6467 http выходной фильтр "/node/add/page? Render=overlay"
2016/01/21 11:38:56 [debug] 12534#0: *6467 http-фильтр копирования: "/node/add/page? Render = overlay"
2016/01/21 11:38:56 [debug] 12534#0: *6467 фильтр изображений
2016/01/21 11:38:56 [debug] 12534#0: *6467 xslt корпус фильтра
2016/01/21 11:38:56 [debug] 12534#0: *6467 http отложить фильтр "/node/add/page? Render=overlay" 00000000025F8670
2016/01/21 11:38:56 [debug] 12534#0: *6467 записать старый буфер t:1 f:0 00000000025F8510, pos 00000000025F8510, размер: 239 файл: 0, размер: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 записать новый буфер t: 0 f: 0 0000000000000000, pos 00000000006C6460, размер: 132 файл: 0, размер: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 записать новый буфер t: 0 f: 0 0000000000000000, pos 00000000006C6740, размер: 61 файл: 0, размер: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 http фильтр записи: l: 1 f: 0 s: 432
2016/01/21 11:38:56 [debug] 12534#0: *6467 http ограничение фильтра записи 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 writev: 432
2016/01/21 11:38:56 [debug] 12534#0: *6467 http write filter 0000000000000000
2016/01/21 11:38:56 [debug] 12534#0: *6467 http-фильтр копирования: 0 "/node/add/page? Render=overlay"
2016/01/21 11:38:56 [debug] 12534#0: *6467 http завершить запрос: 0, "/node/add/page? Render=overlay" a:1, c:1
2016/01/21 11:38:56 [debug] 12534#0: *6467 set http keepalive handler
2016/01/21 11:38:56 [debug] 12534#0: *6467 http закрыть запрос
2016/01/21 11:38:56 [debug] 12534#0: *6467 http обработчик журнала
2016/01/21 11:38:56 [debug] 12534#0: *6467 бесплатно: 00000000025F76A0, не используется: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 бесплатно: 00000000025E6CC0, не используется: 2666
2016/01/21 11:38:56 [debug] 12534#0: *6467 бесплатно: 000000000263C350
2016/01/21 11:38:56 [debug] 12534#0: *6467 hc бесплатно: 0000000000000000 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 hc busy: 0000000000000000 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 tcp_nodelay
2016/01/21 11:38:56 [debug] 12534#0: *6467 многоразовое соединение: 1
2016/01/21 11:38:56 [debug] 12534#0: *6467 добавлен таймер событий: 5: 65000:1453394401016
2016/01/21 11:38:56 [debug] 12534#0: *6467 post event 0000000002681950
2016/01/21 11:38:56 [debug] 12534#0: *6467 удалить опубликованное событие 0000000002681950
2016/01/21 11:38:56 [debug] 12534 # 0: * обработчик keepalive http 6467
2016/01/21 11:38:56 [отладка] 12534#0: *6467 malloc: 000000000263C350:1024
2016/01/21 11:38:56 [debug] 12534#0: *6467 recv: fd:5 -1 of 1024
2016/01/21 11:38:56 [debug] 12534#0: *6467 recv() не готов (11: ресурс временно недоступен)
2016/01/21 11:38:56 [debug] 12534#0: *6467 бесплатно: 000000000263C350

2016/01/21 11:39:10 [debug] 12534 # 0: * 6442 таймер событий del: 3: 1453394350048
2016/01/21 11:39:10 [debug] 12534#0: *6442 http keepalive handler
2016/01/21 11:39:10 [debug] 12534#0: *6442 закрыть http соединение: 3
2016/01/21 11:39:10 [debug] 12534#0: *6442 многоразового соединения: 0
2016/01/21 11:39:10 [debug] 12534#0: *6442 бесплатно: 0000000000000000
2016/01/21 11:39:10 [debug] 12534#0: *6442 бесплатно: 00000000025E12D0, не используется: 0
2016/01/21 11:39:10 [debug] 12534#0: *6442 бесплатно: 000000000263DDA0, не используется: 128 

curl -vvv https ourdomain.org/user меньше

* SSLv3, рукопожатие TLS, Завершено (20):

  • SSL-соединение с использованием ECDHE-RSA-AES256-GCM-SHA384

  • Сертификат сервера:

  • тема: CN=ourdomain.org

  • дата начала: 2016-01-20 20:37:00 GMT

  • срок действия: 2016-04-19 20:37:00 по Гринвичу

  • subjectAltName: наш домен совпадает

  • эмитент: C = US; O = Let's Encrypt; CN = Let's Encrypt Authority X1

  • SSL-сертификат подтвердите.

GET / пользовательский HTTP / 1.1

Пользователь-агент: curl/7.35.0

Ведущий: ourdomain.org

Принять: /

>

  • Сервер nginx/1.4.6 (Ubuntu) не занесен в черный список

<Сервер: nginx/1.4.6 (Ubuntu)

<Дата: четверг, 21 января 2016 г., 05:52:22 GMT

<Соединение: keep-alive

<Истекает: Солнце, 19 ноября 1978 года, 05:00:00 по Гринвичу

http://drupal.org/)

2 ответа

Похоже, это была проблема с конфигурацией в (необязательном) модуле доступа к домену (который позволяет "Drupal Way" управлять поддоменами с помощью администратора Drupal).

"Схема URL домена" должна быть установлена ​​на "https://", а "Схема URL для доступа к этому домену" должна быть сделана "Активной".

Просто убедитесь, что SSL-сертификат создан правильно, потому что, как указывает эта проблема, "если https / ssl впоследствии не удастся из-за какой-то проблемы для этого сайта, администраторы не смогут легко войти и изменить это".

Вы реализовали этот шаг из учебника?

return 301 https: // $ host $ request_uri;

Если это так, то вполне вероятно, что вы находитесь в цикле перенаправления, потому что nginx перенаправит трафик 301 с порта 80 на 443.

Это само по себе неплохо, но если у вас есть другие перенаправления в вашей конфигурации, или если drupal перенаправляет на http:// местоположение, то вы застряли в цикле.

Я предлагаю вам попробовать установить расширение Firebug в Firefox, включить сетевой модуль, переключить "постоянный" и открыть страницу входа. Это даст вам хороший обзор запросов, которые выполняет ваш браузер, и тогда вы сможете увидеть, действительно ли вы отскакиваете назад и вперед между http и https.

Другие вопросы по тегам