Я пытаюсь запустить 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';
ДО всего в коде.
Надеюсь, поможет!