Пытаюсь сделать следующую нехитрую штуку. Запросы к domain.tld обрабатывает nginx (nginx #1). Хочу сделать так, чтобы обращение к sub.domain.tld первый nginx перебрасывал на локальный IP (пусть будет 10.0.0.2), на котором живёт второй nginx (nginx #2). Сразу признаюсь, пока-что конфигурировалось методом нашёл@скопипастил. С сетью и подобным не слишком знаком. У nginx #1 в конфиге:
server {
server_tokens off;
server_name sub.domain.tld;
if ($scheme != "https") {
return 301 https://$host$request_uri; # HTTP to HTTPS
}
listen 443 ssl;
# SSL-параметры убраны
listen 80;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-for $remote_addr;
proxy_pass https://10.0.0.2:443$request_uri;
}
}
У nginx #2 ничего сверхъестественного, он просто слушает 443 & 80 порты и делает своё.
Проблема: Из браузера при обращении к sub.domain.tld всё хорошо и всё работает. Но через curl ничего не получается с кодом 302, а также приложение, которое должно обращаться к этому субдомену, периодически отваливается с невозможностью найти сервер (хотя через неустановленное время почему-то начинает работать). Уверен, что я что-то сделал криво и неправильно. Надеюсь на помощь.
Также вопрос: Перекидывать на локальный IP по HTTPS - это нормально? Хотелось, чтобы приложение на нём не ругалось из-за того, что, по его мнению, юзается HTTP.