2016-12-08 9 views
0

Ниже приведены данные, которые я добавил application.properties файл, чтобы включить HTTPS:HTTPS с Докер Контейнерные Spring загрузки приложения не работает

server.port: 80 
server.ssl.key-store: classpath:keystore.p12 
server.ssl.key-store-password: password 
server.ssl.keyStoreType: PKCS12 
server.ssl.keyAlias: tomcat 

Когда я запустить контейнер Docker, URL не доступен с HTTPS. Но если я сообщаю вышеприведенные строки, http доступен. Это когда приложение запускается как изображение докеров.

Если я запускаю приложение загрузки весны на своем локальном компьютере, https работает. Не уверен, что не так или нет.

Для получения дополнительной информации, я использую следующий Docker сочинить файл:

ms1: 
    image: aa/ms1:localubuntu 
    mem_limit: 512 
    environment: 
    SPRING_PROFILES_ACTIVE: docker-development-cloud 
    JAVA_OPTS: -Xms256m -Xmx512m 
    build: 
    context: ../../ 
    dockerfile: ms1/src/main/dockerBuildRelease/Dockerfile 
    ports: 
    - "443:443" 
    restart: always 
    networks: 
    - cloud 
+1

Вы пробовали с 'server.port: 443'? Возможно, вам придется открыть порт на контейнере. Не могли бы вы пропустить «classpath:»? – Jeff

+0

Также пожалуйста, напишите вашу команду Docker запустить –

+0

Я использую Докер-сочинять и он работает только при использовании server.port: 443 и 'ms1: изображения: аа/ms1: localubuntu mem_limit: 512M среда: SPRING_PROFILES_ACTIVE: docker- развитие облако JAVA_OPTS: -Xms256m -Xmx512m сборки: контекст: ../../ dockerfile: ms1/SRC/основные порты/dockerBuildRelease/dockerfile : - "443: 443" рестарт: всегда сети : - cloud_ – Santosh

ответ

0

Для того, чтобы это работало на Докер, вам необходимо:

  • запустить сервер с действительным портом (допустимо, я имею в виду либо 443, либо другой не зарезервированный порт, например 8443). Как вы уже знаете, это делается путем установки свойства server.port в вашем application.yml файле
  • выставить порт сервера в файле docker-compose.yml. Как помните, синтаксис host:container, поэтому предполагая, что вы настроили Spring приложение загрузки на порт 443, и хотите, чтобы выставить его в порт 8443 на хосте, конфигурации вы портов будет выглядеть так: 8443:443

Кроме того, мне кажется странным, что вы используете image и build в своем docker-compose.yml файле.

+0

Изображение и сборка beacuse. Я использую один и тот же файл для создания докере для сборки и запуска приложения. – Santosh

+0

Как я предположил, я использую 443: 8443 для сопоставления 443 на машине с 8443 в приложении. Это выполняется на одном узле, но с роумом-докером и приложением, развернутым на узле 1, я получаю 404, когда я обращаюсь к приложению через рой-url, но отлично работает с IP-адресом node01. Какие-либо предложения? – Santosh

 Смежные вопросы

  • Нет связанных вопросов^_^