Я создаю веб-сайт с отдельным бэкэндом / внешним интерфейсом. На данный момент этот сайт размещен в моем кластере Kubernetes дома. Один модуль предназначен для внешнего интерфейса, а другой - для внутреннего.
Тезисы доступны через Traefic. У меня есть внутреннее DNS-имя (т.е. backend.home.local
и frontend.home.local
) для доступа к нему. Я создал самозаверяющий центр сертификации, который обрабатывает SSL в моем частном домене .home.local
, чтобы я мог получить к ним доступ в своей частной сети с компьютера, на котором зарегистрирован мой частный центр сертификации.
Мой интерфейс взаимодействует с моим бэкэндом также через HTTPS, используя тот же URL (в .home.local
). Мой интерфейс знает CA (я действовал как здесь ).
У меня также есть внешнее доменное имя, указывающее на мой интерфейс. Я могу получить к нему доступ через HTTPS без проблем снаружи и внутри моей сети.
Хорошо, пока все хорошо. Моя проблема в том, что когда я получаю доступ к своему веб-интерфейсу через внешнее доменное имя, мой веб-интерфейс успешно связывается с бэкэндом, когда я использую компьютер, на котором зарегистрирован мой частный ЦС, но при использовании err_cert_authority_invalid
происходит сбой при использовании *1014*. компьютер без моего CA.
Я понимаю, что конечный пользователь должен иметь ЦС всех ресурсов веб-сайта, иначе браузер выдаст ошибку, даже если веб-интерфейс инициирует другое SSL-соединение с бэкэндом со своим собственным ЦС.
Я также пытаюсь деактивировать https между внешним и внутренним интерфейсами, но на этот раз я смешал ошибку содержимого ... не лучше.
Должен ли я неизбежно иметь бэкэнд доступным снаружи с надлежащим зашифрованным сертификатом? Я бы предпочел, чтобы сервер не был доступен снаружи, но я не знаю, смогу ли я сделать это правильно.
Надеюсь, этот пост не слишком грязный.
Хорошего дня.