Использование подстановочного SSL-сертификата для бэкенда Spring Boot - PullRequest
0 голосов
/ 20 сентября 2018

Я получил сертификат SSL с подстановочным знаком от своего хостера (хостера X) для своего домена, например domain.com.

Теперь у меня есть Spring Boot Backend, работающий на сервере A (не размещен на хостере X,IP: 1.1.1.1, URL: api.domain.com) и мой интерфейс работает на другом сервере B (размещен на хостере X, IP: 2.2.2.2, URL app.domain.com).

Перенаправлениеapi.domain.com для IP 1.1.1.1 устанавливается через запись ресурса A в конфигурации DNS хостера X, так как домен domain.com зарегистрирован здесь.

enter image description here

Каков здесь общий подход к установке сертификата на мой Spring Boot Backend, чтобы обеспечить связь между моим Frontend и Backend?Нужно ли загружать подстановочный сертификат, чтобы установить его в хранилище ключей бэкэнда?Что я могу сказать, я могу настроить SSL-сертификат только в моем меню хостеров на доменах, которые размещены на серверах Hoster X.

1 Ответ

0 голосов
/ 01 октября 2018

На внутреннем сервере объедините файл личного ключа, файл сертификата и файл CA в хранилище ключей pkcs12 с помощью openssl и следующей команды:

openssl pkcs12 -export -in <certfile> -inkey <keyfile> -out <keystorefile> -name tomcat -CAfile <cacertfile> -caname root

Вам будет предложено ввести пароль хранилища ключей.Теперь скопируйте сгенерированный файл хранилища ключей (расширение «p12») в каталог ресурсов приложения Spring Boot.

Теперь установите конфигурацию SSL Spring Boot в application.yml:

server:
    port: 8443

# Spring SSL configuration
    ssl:
        enabled: true
        key-store: classpath:keystore.p12
        key-store-password: "<KeystorePassword>"
        keyStoreType: PKCS12
        keyAlias: tomcat

В качестве альтернативы,скопируйте файл keystore.p12 куда-нибудь на бэкэнд-сервер и укажите местоположение с абсолютным путем:

server:
    ssl:
        key-store: /path/to/keystore.p12

Важно создать запись A в настройках DNS на компьютере внешнего интерфейса, чтобы все внешние интерфейсызапросы к Бэкэнду проходят через вызов к домену, а не по IP, поскольку подстановочный сертификат действителен только для домена.

...