Я искал на форумах (и в других местах в Интернете) и нашел связанную, но, казалось бы, не идентичную информацию. Надеюсь, я не дублирую здесь.
У меня есть сайт, работающий на сервере Apache. Он уже имеет SSL-сертификат (через LetsEncrypt) и работает без проблем.
Недавно я установил перед ним машину, на которой работает Nginx. Эта машина обслуживает три домена (с одним сертификатом от LetsEncrypt).
Я хотел бы передавать запросы на домен на машине Apache через Nginx, но у меня возникли проблемы с определением правильных настроек. В прошлом я делал это с двумя обслуживающими машинами Apache без особого труда, но я новичок в Nginx и явно еще недостаточно опытен в нем.
Настройка виртуального сервера, которая у меня есть на машине с выходом в сеть Nginx (через маршрутизатор):
сервер {
слушать domain.pointing.to.apache.com: 443 ssl;
имя_сервера домен.указывающий.на.apache.com;
место расположения / {
корень 192.168.11.14/var/www/html/;
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass домен.указывающий.на.apache.com;
}
}
Но, конечно, Nginx это не нравится, и он не будет перезагружаться после добавления vs. Любые советы и т. д. будут высоко оценены.
Примечание. Я думаю, это очевидно, но 192.168.11.14 находится за моим маршрутизатором и не доступен напрямую в сети.
Джейсон
Изменить/обновить:
Важная информация отсутствует в моем первоначальном запросе:
Компьютер Nginx, обращенный к сети, который я хочу переключить прокси на Apache, также обслуживает три поддомена моего основного домена, которые я хочу переключить прокси (sub1.mydomain.com, sub2.mydomain.com, sub3.mydomain.com). Все три используют один SSL-сертификат от LetsEncrypt.
Сервер Apache в локальной сети также имел выданный LetsEncrypt сертификат, который обслуживал mydomain.com, пока я не поставил перед ним машину Nginx.
Теперь я удалил сертификаты SSL на машине Apache, удалил виртуальный сервер https и настроил простой виртуальный сервер для порта 80.
Моя настройка Nginx по умолчанию отправляет запросы на http //www.mydomain.com, который пока просто использует очень скучную html-страницу.
Я установил SSL-сертификаты для домена https//www.mydomain.com в поле Nginx и хочу использовать рекомендацию, предоставленную Tero, для обратного прокси-запроса HTTPS на mydomain.com в локальный ящик Apache и обратно. Следующее:
сервер {
слушать 443 ssl;
ssl_certificate /etc/letsencrypt/live/www.mydomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/www.mydomain.com/privkey.pem;
имя_сервера www.mydomain.com;
место расположения / {
proxy_set_header X-Forwarded-Host $host:$server_port;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
прокси_пароль https://192.168.11.14;
}
}
Проблема в том, что я получаю сообщение об ошибке 502 Bad Gateway от машины Nginx... так что я предполагаю, что у меня что-то не так с настройками Nginx... Я приближаюсь, но не совсем там. Кроме того, я заметил, что попытки доступа www.mydomain.com без https больше не обслуживает скучную html-страницу... они переносятся/переписываются на https -> www.mydomain.com и к тому же 502 плохой шлюз.