Задать вопрос
darina46722
@darina46722

Как отобразить GOшный сайт в Firefox?

Столкнулась с проблемой отображения десктопного приложения на Firefox. В тоже время в браузере Chrome последней версии все отображает замечательно.

В проекте используется: nginx, но считаю, что проблема именно с firefox.

Каждый сервис на бэке крутится на своем порту (фронт тянет данные с бэка; на бэке используется микросервисная архитектура, под каждый сервис свой порт и фронт по мере необходимости обращается к каждому из них).
Фронт обращается к каждому сервису отдельно. Всё общение по https. Откуда следует, что необходимы сертификаты.

На всех сервисах бэка один и тот же самоподписанный сертификат, поэтому временами вылезает окошко о ненадежности сайта. Сертификат можно добавить в доверенные.
Если браузер не верит сертификату, то не может открыть канал общения с сайтом.
Методом экспериментов выяснила, что firefox сохраняет у себя доверенные сертификаты в формате: Ip:port — сертификат.

Т.е. сервисы бэка не могут кинуть данные до фронта, т.к. firefox им не верит.
Чтобы установить доверие надо заходить в инструменты разработчика в браузере и ходить по запросам к бэковским сервисам — открывать отдельное окно с предложением о доверии к сервису бэка и его сертификату.

Предполагаемое решение: основная идея — скрыть от firefox факт обращения к сервисам бэка.
Путь предполагаемого решения:
  1. настройка проксирования nginx;
  2. написание брокера (сервиса, собирающего данные для фронта — его создание обуславливается снятием основной нагрузки с nginx).


Пробовала различные пути решения схожих проблем на фронте и на бэке — пока ничего.
  • Вопрос задан
  • 229 просмотров
Подписаться 3 Средний 2 комментария
Решения вопроса 1
2ord
@2ord
На всех сервисах бэка один и тот же самоподписанный сертификат, поэтому временами вылезает окошко о ненадежности сайта. Сертификат можно добавить в доверенные.

Зачем так страдать? Установите сертификат от Let's Encrypt.

Для фронта не должно быть видно ничего, кроме прокси-сервера Nginx с сертификатом (Let's Encrypt или другими). А позади Nginx стройте бэкенд как угодно, потому что в простых случаях все службы бэкенд находятся в пределах одной локальной сети.

Если у вас внутри локальной сети должно передаваться также по защищенному каналу, то возьмите certmagic
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
ky0
@ky0 Куратор тега Nginx
Миллиардер, филантроп, патологический лгун
Если всё общение происходит по HTTP - непонятно, зачем эта кривота с кучей самоподписанных сертификатов и кастомных портов. Разводите сервисы нгинксом по разным доменам/урлам и выпускаете валидные сертификаты через Let`s Encrypt.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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