Я пытаюсь настроить следующее:
- Docker-контейнер с nginx на локальном хосте в качестве обратного прокси-сервера для Wordpress, прослушивающий localhost:80. Он также используется в качестве обратного прокси-сервера для других микросервисов.
- Контейнер(ы) docker-compose с Wordpress+Apache, прослушивающий localhost:4261. Docker-compose.yaml был взят из официальный пример. Директива «ports» была изменена с «8000:80» -> «4261:80».
Я пытался следовать многочисленным руководствам и средствам устранения неполадок, но nginx продолжает отвечать «111 в соединении отказано». Подобные вопросы (которые не сработали для меня): здесь и здесь.
Любые идеи?
конфиг нгинкс:
сервер {
# Слушаем HTTPS
слушать [::]:443 ssl ipv6only=on;
слушать 443 ssl;
имя_сервера ${NGINX_URL};
ssl_certificate /certs/certificate.pem;
ssl_certificate_key /certs/private.key;
местоположение / ВП / {
переписать ^/wp/?(.*)$ /$1 break;
прокси_пароль http://localhost:4261/;
прокси_http_версия 1.1;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $ схема;
proxy_set_header X-Forwarded-Port 443;
proxy_set_header Хост $http_host;
proxy_set_header Обновить $http_upgrade;
proxy_set_header Соединение "Обновление";
proxy_pass_request_headers включен;
}
...
}
wp-config.php:
...
// Если мы находимся за прокси-сервером и используем HTTPS, нам нужно предупредить WordPress об этом факте
// см. также https://wordpress.org/support/article/administration-over-ssl/#using-a-reverse-proxy
if (isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && strpos($_SERVER['HTTP_X_FORWARDED_PROTO'], 'https') !== false) {
$_SERVER['HTTPS'] = 'включено';
}
...