Сетевое взаимодействие¶
Для каждого приложения создается Сервис доступа, с помощью которого к данному приложению можно подключиться по протоколу из других приложений
Амвера и сети интернет. Сервис доступа транслирует указанный в файле конфигурации в разделе run
containerPort
порт приложения в 80
порт.
Таким образом, доступ к приложениям возможен только через 80 порт (исключения составляют окружения БД). Более того, этот сервис обеспечивает балансировку запросов в случае,
если запущено несколько реплик одного приложения.
Подсказка
Чтобы не прописывать явно номер порта, можно использовать переменную окружения PORT. По умолчанию ее значение равно 80.
Доступ из других приложений¶
Для доступа к приложению из других приложений, развернутый в Амвера достаточно обратиться к приложению по внутреннему доменному имени
amvera-<транслитерированное-имя-проекта>-run-<имя-пользователя>
. Важно помнить, что вне зависимости от того, на каком порту
работает приложение (этот порт нужно указать в containerPort
) Сервис доступа слушает 80 порт и Вы не ограничены протоколом HTTP.
Внимание
Взаимодействие по внутренней сети происходит без шифрования со стороны Amvera!
Доступ из сети Интернет¶
Для внешнего доступа к приложениям используется обратный прокси nginx. При подключении доменного имени создается Входной контроллер,
который слушает указанный домен и 80
порт и пересылает запросы в сервис доступа, который в свою очередь доставляет их в одну из запущенных реплик
приложения.
Для активации доступа по протоколу HTTPS
нужно перейти в раздел «Настройки» и добавить доменное имя.
При добавлении доменного имени создается Входной контроллер, который слушает указанный домен и 80
порт и пересылает
запросы в сервис доступа, который в свою очередь доставляет их в одну из запущенных реплик приложения. Так же генерируется
бесплатный Let’s Encrypt SSL
сертификат, обеспечивающий доступ по протоколу HTTPS
.
Важно
Создание Входного контроллера и выдача SSL сертификата может занимать какое-то время.
Бесплатное доменное имя Амвера¶
Для каждого приложения есть возможность привязать бесплатное доменное имя третьего уровня, которое обеспечит защищенный доступ к приложению из глобальной сети Интернет. Для этого в разделе «Настройки» в секции «Доменные имена» необходимо перевести тумблер в положение «включено».
Приложение получит URL в формате <транслитерированное-имя-проекта>.<имя-пользователя>.amvera.io
.
Так, для проекта «Тест» пользователя «user» обратиться к приложению можно по адресу https://test.user.amvera.io/
.
Свое доменное имя¶
Для привязки своего доменного имени, купленного у регистратора (например reg.ru) требуется выполнить следующие действия:
Зайти в ЛК регистратора.
Найти «DNS-серверы и управление зоной» или подобное название. А именно там, где прописываются
A
запись,TXT
,@
и т.д. в личном кабинете регистратора.Найти A запись, и прописать туда IP, указанный в разделе «Настройки» «Создать доменное имя» требуемого приложения в Amvera Cloud.
Найти TXT запись, и прописать туда TXT, указанный в разделе «Настройки» «Создать доменное имя» требуемого приложения в Amvera Cloud.
Подождать, пока запись распространится по DNS серверам (может занимать до 24 часов).
В разделе «Настройки» «Создать доменное имя» указать доменное имя и нажать «Подтвердить и привязать». В случае, если все сделано верно и информация о домене дошла до DNS сервера google (8.8.8.8) домен успешно привяжется.
Подождать, пока сконфигурируется Входной контроллер и
SSL
сертификат.
Пример настройки записей в ЛК reg.ru¶
Нужно нажать «Добавить запись» внизу страницы и ввести значения A и TXT.
Профилактика ошибок¶
В случае, если при нажатии кнопки «Подтвердить и привязать» вылезает ошибка, следует проверить правильность заполнения записей и их наличие на DNS серверах. Для проверки записей можно воспользоваться специальным сервисом.
Введя в поле доменное имя и нажав TXT Lookup
в списке должна появится строчка с записью, требуемой к заполнению в разделе «Настройки» «Создать доменное имя».
Сменив TXT Lookup
на DNS Lookup
должен вывестись ipv4 адрес сервера Amvera, указанный в разделе «Настройки» «Создать доменное имя».