У меня проблемы с поиском способа сделать мою ситуацию работоспособной. У меня 2 приложения:
1: Веб-приложение внешней службы, работающее на sub1.domain.com. Если я запускаю это приложение за traefik с acme (LetsEncrypt), оно работает нормально. У меня есть еще несколько серверных служб (api / auth), которые работают с действующим сертификатом LetsEncrypt и перенаправляют свой http-трафик на https с помощью traefik.
[entryPoints.http.redirect]
entryPoint = "https"
У меня должна быть какая-то форма пересылки http на https для этой службы.
2: Внутреннее служебное веб-приложение, работающее на sub2.domain.com. У меня есть самозаверяющий доверенный сертификат (внутренний ЦС), который отлично работает за traefik, если я установил его как сертификат по умолчанию или если я использую его в самом приложении (внутри tomcat). Однако, поскольку это внутренняя служба, я могу жить без ssl, если это решит мою проблему. Однако это не работает с переадресацией traefik с http на https.
Я пытался заставить эти 2 службы работать за одним и тем же экземпляром traefik, но все возможные сценарии, о которых я мог думать, не работают, потому что они либо все еще работают, либо просто не работают.
Сценарии
1: Нет переадресации с http на https, не беспокойтесь о https для внутренней службы и просто используйте http. Затем внутри бэкэнда для перенаправления внешнего веб-сервиса на https.
Проблемы:
- Невозможно иметь 2 порта traefik, которые тоже пересылают traefik.
- Используйте ACME вместо сертификата по умолчанию
2. Используйте ACME вместо сертификата по умолчанию
кто-то еще подумал, что это хорошая идея. Просто пока не работает.
3: повторно использовать серверный ssl-сертификат. У traefik просто перенаправление без завершения ssl. Я не уверен, что это то же самое, но есть опция passTLSCert. Однако кажется, что это возможно только с интерфейсами, определенными в файле .toml, которые не работают (вероятно, потому, что я использую докер для бэкэндов).
4: используйте вызов DNS-01 для создания сертификата SSL для моей внутренней службы. Похоже, это может сработать, поэтому теперь я использую CloudFlare и имею ключ api. Однако для поддоменов это не работает. и на мой отчет о проблеме нет ответа: https://github.com/containous/traefik/issues/1953
РЕДАКТИРОВАТЬ: Я мог бы исправить проблему, описанную в 4, чтобы это работало. Кажется, внутренний DNS может конфликтовать с traefik