Назад | Перейти на главную страницу

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

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

recv() not ready (11: Resource temporarily unavailable).

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

4 http request line: "POST /user HTTP/1.1"

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

2016/01/21 11:38:56 [debug] 12534#0: *6467 write new buf t:1 f:0 00000000025F8510, pos 00000000025F8510, size: 239 file: 0, size: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 http write filter: l:0 f:0 s:239
2016/01/21 11:38:56 [debug] 12534#0: *6467 http output filter "/node/add/page?render=overlay"
2016/01/21 11:38:56 [debug] 12534#0: *6467 http copy filter: "/node/add/page?render=overlay"
2016/01/21 11:38:56 [debug] 12534#0: *6467 image filter
2016/01/21 11:38:56 [debug] 12534#0: *6467 xslt filter body
2016/01/21 11:38:56 [debug] 12534#0: *6467 http postpone filter "/node/add/page?render=overlay" 00000000025F8670
2016/01/21 11:38:56 [debug] 12534#0: *6467 write old buf t:1 f:0 00000000025F8510, pos 00000000025F8510, size: 239 file: 0, size: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 write new buf t:0 f:0 0000000000000000, pos 00000000006C6460, size: 132 file: 0, size: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 write new buf t:0 f:0 0000000000000000, pos 00000000006C6740, size: 61 file: 0, size: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 http write filter: l:1 f:0 s:432
2016/01/21 11:38:56 [debug] 12534#0: *6467 http write filter limit 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 copy filter: 0 "/node/add/page?render=overlay"
2016/01/21 11:38:56 [debug] 12534#0: *6467 http finalize request: 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 close request
2016/01/21 11:38:56 [debug] 12534#0: *6467 http log handler
2016/01/21 11:38:56 [debug] 12534#0: *6467 free: 00000000025F76A0, unused: 0
2016/01/21 11:38:56 [debug] 12534#0: *6467 free: 00000000025E6CC0, unused: 2666
2016/01/21 11:38:56 [debug] 12534#0: *6467 free: 000000000263C350
2016/01/21 11:38:56 [debug] 12534#0: *6467 hc free: 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 reusable connection: 1
2016/01/21 11:38:56 [debug] 12534#0: *6467 event timer add: 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 delete posted event 0000000002681950
2016/01/21 11:38:56 [debug] 12534#0: *6467 http keepalive handler
2016/01/21 11:38:56 [debug] 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() not ready (11: Resource temporarily unavailable)
2016/01/21 11:38:56 [debug] 12534#0: *6467 free: 000000000263C350

2016/01/21 11:39:10 [debug] 12534#0: *6442 event timer 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 close http connection: 3
2016/01/21 11:39:10 [debug] 12534#0: *6442 reusable connection: 0
2016/01/21 11:39:10 [debug] 12534#0: *6442 free: 0000000000000000
2016/01/21 11:39:10 [debug] 12534#0: *6442 free: 00000000025E12D0, unused: 0
2016/01/21 11:39:10 [debug] 12534#0: *6442 free: 000000000263DDA0, unused: 128

[1]: https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-14-04?comment=42425

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

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

Похоже, это была проблема с конфигурацией в (необязательно) Доступ к домену модуль (который позволяет «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.