@Drno

Как правильно настроить nginx?

Есть nginx,обслуживает 80 и 443 порты, пара доменов, всё ок

Есть приложение докер. Работает на 8080:80. Доступно по адресу app.mysite.ru:8080
Есть желание закрыть его reverse-proxy заодно вкорячить SSL. Чтоб оно стало доступно по адресу newapp.mysite.ru

Если я правильно понимаю план дейтсвий -
переводим приложение на другой порт
ставим nginx прослушивать порт 8080

далее в nginx надо сделать proxy_pass -- можете дать пример?
чтоб при заходе на app.mysite.ru:8080 запрос проксировался на newapp.mysite.ru:443
И что бы приложение видело IP клиента, а не прокси-сервера
  • Вопрос задан
  • 426 просмотров
Решения вопроса 1
karabanov
@karabanov Куратор тега Linux
Системный администратор
server {
        listen 80;
        server_name  newapp.mysite.ru;

        location /.well-known/acme-challenge/ {
                alias /path/to/.well-known/acme-challenge/;
                allow all;
                default_type "text/plain";
                try_files $uri =404;
        }


       location / {
            return 301 https://newapp.mysite.ru$request_uri;
       }
}

server {
        listen 443 ssl http2;
        server_name  newapp.mysite.ru;

        ssl_certificate /path/to/cert/fullchain.pem;
        ssl_certificate_key /path/to/cert/privkey.pem;

        location / {
                proxy_pass http://localhost:8080;
                proxy_set_header   Host $http_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 $scheme;
        }
}

listen
ssl_certificate
set_real_ip_from
proxy_pass
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Пихаем 8080 порт в proxy_pass нгинкса. IP клиента забираем из X-Real-IP или с помощью модуля realip пихаем в стандартный заголовок.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы