Size: a a a

DevOps — русскоговорящее сообщество

2021 February 16

VC

Vladimir Chernyshev in DevOps — русскоговорящее сообщество
Не выходи из комнаты.
Можете подсказать?

На сервере есть два приложения: фронт и бек. Доменов своих у них сейчас нет. Есть основной настоящий домен. Поэтому задали одно имя (сабдомен) для айпи (в /etc/hosts).
Крутится всё на нжинксе.

Сейчас нужно выдать летс енкрипт сертификаты и фронту, и беку. Но, как я понял "приложение" должно слушать 443 порт, чтобы быть хттпс.

1. Можно ли двум приложениям с одним сабдоменом задать одинаковый порт (443)?
2. Обязательно ли для хттпс 443 порт (или можно любой другой)?
3. Есть вариант - в /etc/hosts прописать два домена разных для локалхоста. и в одном конфиге нжинкса (фронта) юзать один server_name, а в другом (бека) - второй. Подойдёт ли это?
серботу нужен настоящий домен
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
Vladimir Chernyshev
серботу нужен настоящий домен
нет
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
как-то же у нас настроен сейчас ссл не на настоящем
источник

VC

Vladimir Chernyshev in DevOps — русскоговорящее сообщество
Не выходи из комнаты.
как-то же у нас настроен сейчас ссл не на настоящем
может не летсенкрипт или старый был настоящий?
источник

VC

Vladimir Chernyshev in DevOps — русскоговорящее сообщество
сервер летсенкрипта не знает про ваш /etc/hosts
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
нет. просто указали "маску" для локалхоста и подрубили сертбот
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
грубо говоря, вот у нас за этим спрятан локалхост
https://test.jellyfish.tech/
источник

VC

Vladimir Chernyshev in DevOps — русскоговорящее сообщество
Не выходи из комнаты.
грубо говоря, вот у нас за этим спрятан локалхост
https://test.jellyfish.tech/
ну есть же домен
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
а, ну да
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
если Вы о jellyfish.tech
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
подправил вопрос. спасибо.
источник

S

Sebor in DevOps — русскоговорящее сообщество
Если не хочешь привязывать айпи к домену и/или открывать 443, то используйт dns challenge
источник

VC

Vladimir Chernyshev in DevOps — русскоговорящее сообщество
Не выходи из комнаты.
Можете подсказать?

На сервере есть два приложения: фронт и бек. Доменов своих у них сейчас нет. Есть основной настоящий домен. Поэтому задали одно имя (сабдомен) для айпи (в /etc/hosts).
Крутится всё на нжинксе.

Сейчас нужно выдать летс енкрипт сертификаты и фронту, и беку. Но, как я понял "приложение" должно слушать 443 порт, чтобы быть хттпс.

1. Можно ли двум приложениям с одним сабдоменом задать одинаковый порт (443)?
2. Обязательно ли для хттпс 443 порт (или можно любой другой)?
3. Есть вариант - в /etc/hosts прописать два домена разных для локалхоста. и в одном конфиге нжинкса (фронта) юзать один server_name, а в другом (бека) - второй. Подойдёт ли это?
1. один порт на один IP адрес одному приложению в общем случае, если публичный адрес один то нельзя

2. Необязательно

3. Причём тут /etc/hosts я так и не понял )
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
Vladimir Chernyshev
1. один порт на один IP адрес одному приложению в общем случае, если публичный адрес один то нельзя

2. Необязательно

3. Причём тут /etc/hosts я так и не понял )
3. я о том, что можно в /etc/hosts указать что-то вроде
127.0.0.1    back.example.com
127.0.0.1    front.example.com

дальше в том же нжинксе в обеих конфигах указывать 443 порт, только server_name соответствующие
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
в таком случае оба должны получить ssl и конфликтов не будет?
источник

VC

Vladimir Chernyshev in DevOps — русскоговорящее сообщество
Не выходи из комнаты.
3. я о том, что можно в /etc/hosts указать что-то вроде
127.0.0.1    back.example.com
127.0.0.1    front.example.com

дальше в том же нжинксе в обеих конфигах указывать 443 порт, только server_name соответствующие
так можно, но вроде речь была о двух приложениях, а тут получается одно - nginx
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
Vladimir Chernyshev
так можно, но вроде речь была о двух приложениях, а тут получается одно - nginx
Я про веб-сервисы: бек и фронт. Оба крутит нжинкс
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
Два разных конфига
источник

Н

Не выходи из комнаты... in DevOps — русскоговорящее сообщество
Vladimir Chernyshev
так можно, но вроде речь была о двух приложениях, а тут получается одно - nginx
Спасибо за ответы
источник

С

Сергей in DevOps — русскоговорящее сообщество
Коллеги, привет
Возникла проблема с получением реального IP клиента в такой конфигурации:
Контейнер с nginx и приложением запущен композом (не сварм):
...
front:
 networks:
   test_network:
     ipv4_address: 10.5.0.4
...
networks:
 test_network:
   driver: bridge
   ipam:
     config:
       - subnet: 10.5.0.0/16
         gateway: 10.5.0.1

конфиг nginx в этом контейнере:
location / {
 proxy_set_header        Host                    $host;
 proxy_set_header        X-Real-IP               $remote_addr;
 proxy_set_header        X-Forwarded-Proto       https;
 proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;

 root   /usr/share/nginx/html;
 index  index.html;
 try_files $uri $uri/ /index.html;
}

На хосте в этот контейнер запросы проксируются через nginx хостовой машины:
location / {
 proxy_set_header        Host                    $host;
 proxy_set_header        X-Real-IP               $remote_addr;
 proxy_set_header        X-Forwarded-Proto       https;
 proxy_set_header        X-Forwarded-For         $proxy_add_x_forwarded_for;

 proxy_pass http://front;
}

Суть проблемы в том, что если ходить через хостовый nginx, то в приложении клиентские ip - это ip докера, если ходить напрямую в nginx в контейнере - то все нормально. Есть ли возможность получения правильных ip при обращении через хостовый nginx, не меняя driver в композе на host и без шаманства с iptables?
источник