nginx не делает перенаправление
ВСем привет.
У меня есть nginx который я тщетно уже полдня пытаюсь настроить на проксирование запросов.
Есть 2 сервера с api и логикой сайта. они должны быть за nginx-ом.
Я делаю на стороне nginx в папке /etc/nginx/sites-available/domain.ru запись следующего вида
server {
listen 443 ssl;
listen [::]:443;
ssl_sertificate /etc/letsencrypt/live/domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem;
server_name domain.ru;
root /var/www/html;
location / {
proxy_pass http://localhost:8282;
}
}
На localhost:8282 находится сервер с сайтом.
И так же у меня есть поддомен api.domain.ru и для него я делаю отдельный файл в /etc/nginx/sites-available/api.domain.ru со следующим содержимым:
server {
listen 443 ssl;
listen [::]:443;
ssl_sertificate /etc/letsencrypt/live/domain.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/domain.ru/privkey.pem;
server_name api.domain.ru;
root /var/www/html;
location / {
proxy_pass http://localhost:8383;
}
}
А на 8383 порту у меня второй сервер уже с api к которму иногда редиректит с порта 8282.
Когда при таких настройках я пытаюсь подключиться к domain.ru из браузере, то получаю ошибку 521 от cloudflare(на котором у меня dns-ы).
Дополнительные условия:
- У меня закомментированы все строчки в
/etc/nginx/sites-available/default - Через ufw открыты порты 8282, 8383, 443, 80
- На роутере естесственно настроено перенаправление
- Если раскомментировать в
/etc/nginx/sites-available/defualtблок server и добавить вlocation /строкуproxy_pass http://localhost:8282;(только для domain.ru) при условии что в строке listen находится 80 а не 443, то nginx перекидывает на 8282 и сайт работает, но мне нужно чтобы было 443 и отдельные файлы для блоков server так как если добавлять listen 443 в нескольких блоках server файла default то nginx ругается наduplicate directive listen 443и не получается установить сертификаты для всех поддоменов(хотя я специально сделал wildcard сертификат). - В Cloudflare есть ресурсная запись для api.domain.ru и для domain.ru
Чарoдеимастера, хэлп, не могу двигаться дальше в обучении поку не настрою nginx, спасайте))