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

Wordpress за обратным прокси-сервером nginx не работает в https

Я пытаюсь запустить wordpress в облаке на основе докеров. Настройка такова:

Есть сервер, на котором запущен массив mysql, который обслуживает контейнер с Wordpress, работающим на Nginx. Настройка скопирована из этот файл докеров. Цель этой настройки - достичь высокой пропускной способности и быть совместимой с нашей облачной настройкой.

Контейнер wordpress имеет локальный IP-адрес в той же подсети, что и массив mysql и обратный прокси-сервер Nginx, а также общедоступный порт для запуска http (не https).

Обратный прокси-сервер настроен для запуска SSL для контейнера wordpress. Навигация работает как по http, так и по https, но когда я пытаюсь войти в панель управления с помощью HTTPS, я получаю эту ошибку:

У вас недостаточно прав для доступа к этой странице.

Единственная значимая ошибка, которую я обнаружил, происходит, когда я вхожу в систему на панели управления по HTTP:

[04-ноя-2014 23:16:13 UTC] Уведомление PHP: Неопределенный индекс: HTTP_X_FORWARDED_PROTO в /usr/share/nginx/www/wp-config.php в строке 86

но приборная панель корректно работает на http.

В конфигурационный файл Wordpress пришлось добавить строчку:

/ * SSL-прокси * /

if ($ _SERVER ['HTTP_X_FORWARDED_PROTO'] == 'https') $ _SERVER ['HTTPS'] = 'on';

И я думаю, что это виноват. Я нашел этот совет в официальная документация wordpress, и без него HTTPS не загружает CSS, как в журнал, так и без него. Я думаю, может мне стоит изменить эту строку в соответствии с моей конфигурацией?

Либо этот, либо обратный прокси nginx Файл конфигурации, Я понятия не имею.

Файл конфигурации nginx в контейнере wordpress + nginx достаточно стандартный, и он скопирован из Вот.

Пожалуйста, помогите мне: D

У меня возникла проблема, я решил вот так:

в моем wp-config.php,

Я добавил эти строки:

if (strpos ($ _ SERVER ['HTTP_X_FORWARDED_PROTO'], 'https')! == false) $ _SERVER ['HTTPS'] = 'on';

ДО всего в коде.

Надеюсь, поможет!