私はマイクロサービスアーキテクチャでSpringフレームワークを使用しており、HTTPSには自己署名入りの証明書(*.mydomainname.fr
)を使用しています。
私はユーレカを使用しており、プロキシとしてレジストリとしてZuulを使用しています。だから、私の証明書のために、私のサービスはユーレカに"service-name".mydomainname.fr
という名前で登録されなければなりません。また、私は瞬時にDNSを使用していない、私はちょうど/etc/hosts
(127.0.0.1 register.bec3.fr
)のドメイン名を追加しています。 Here my micro service architecture.ドッカーのユーレカで正しいドメイン名を取得
私はすべてのサービスをドッキング・コンポジションにドッキングしたいと思います。 私のドッキングウィンドウ-compose.ymlは次のとおりです。
version: '3'
services:
registration-service:
image: maven:alpine
container_name: register.bec3.fr
working_dir: /usr/src/spring-boot-app
volumes:
- ./scripts:/usr/src/spring-boot-app/scripts
- ./sslcert:/usr/src/spring-boot-app/ssl
- ./registration-service:/usr/src/spring-boot-app
- ./.m2:/root/.m2
expose:
- 8761
entrypoint: bash -c "keytool -noprompt -import -alias ioteam.bec3 -file /usr/src/spring-boot-app/ssl/ioteam.pem -keystore /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/cacerts -storepass xxxxxx && mvn -Dspring.profiles.active=docker spring-boot:run"
#entrypoint: bash -c "/usr/src/spring-boot-app/scripts/addhosts.sh && keytool -noprompt -import -alias ioteam.bec3 -file /usr/src/spring-boot-app/ssl/ioteam.pem -keystore /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/cacerts -storepass xxxxxx && mvn -Dspring.profiles.active=docker spring-boot:run"
ports:
- 8761:8761
networks:
back-net:
ipv4_address: 172.20.0.5
aliases:
- register.bec3.fr
depends_on:
- "maria"
proxy-service:
image: maven:alpine
container_name: proxy.bec3.fr
working_dir: /usr/src/spring-boot-app
volumes:
- ./scripts:/usr/src/spring-boot-app/scripts
- ./sslcert:/usr/src/spring-boot-app/ssl
- ./proxy-service:/usr/src/spring-boot-app
- ./.m2:/root/.m2
expose:
- 8888
entrypoint: bash -c "keytool -noprompt -import -alias ioteam.bec3 -file /usr/src/spring-boot-app/ssl/ioteam.pem -keystore /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/cacerts -storepass xxxxxx && mvn -Dspring.profiles.active=docker spring-boot:run"
#entrypoint: bash -c "/usr/src/spring-boot-app/scripts/addhosts.sh && keytool -noprompt -import -alias ioteam.bec3 -file /usr/src/spring-boot-app/ssl/ioteam.pem -keystore /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/cacerts -storepass xxxxxx && mvn -Dspring.profiles.active=docker spring-boot:run"
ports:
- 8888:8888
networks:
back-net:
ipv4_address: 172.20.0.6
aliases:
- proxy.bec3.fr
depends_on:
- "registration-service"
auth-service:
image: maven:alpine
container_name: auth.bec3.fr
working_dir: /usr/src/spring-boot-app
volumes:
- ./scripts:/usr/src/spring-boot-app/scripts
- ./sslcert:/usr/src/spring-boot-app/ssl
- ./auth-service:/usr/src/spring-boot-app
- ./.m2:/root/.m2
expose:
- 9999
entrypoint: bash -c "keytool -noprompt -import -alias ioteam.bec3 -file /usr/src/spring-boot-app/ssl/ioteam.pem -keystore /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/cacerts -storepass xxxxxx && mvn -Dspring.profiles.active=docker spring-boot:run"
#entrypoint: bash -c "/usr/src/spring-boot-app/scripts/addhosts.sh && keytool -noprompt -import -alias ioteam.bec3 -file /usr/src/spring-boot-app/ssl/ioteam.pem -keystore /usr/lib/jvm/java-1.8-openjdk/jre/lib/security/cacerts -storepass xxxxxx && mvn -Dspring.profiles.active=docker spring-boot:run"
ports:
- 9999:9999
networks:
back-net:
ipv4_address: 172.20.0.7
aliases:
- auth.bec3.fr
depends_on:
- "maria"
- "registration-service"
maria:
build:
context: ./
dockerfile: maria-dev/Dockerfile
image: maria:latest
container_name: maria
environment:
- MYSQL_ROOT_PASSWORD=xxxxxx
networks:
back-net:
ipv4_address: 172.20.0.3
networks:
back-net:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/24
だから私のサービスがあるため、私のapplication.propertiseでそのパラメータの私の登録サービスに登録することができます:私はそれらを起動していたときに
eureka.client.service-url.defaultZone=https://register.bec3.fr:8761/eureka/
私の問題があります
- 72959axxxxx:AUTH:9999
- c0f1c4xxxがサービス名は、私のユーレカのダッシュボード上のドッキングウィンドウのIDですXX:プロキシは:
- auth.mydomainname.fr:auth:9999
- proxy.mydomainname.fr:proxy:8888:8888
とは、私はそのようなものが必要
私の証明書のためです。それがなければ、私は自分のサービスにアクセスすることができません:
curl -i -XPOST "https://web_app:@register.bec3.fr:8888/auth/oauth/token" -d "grant_type=password&username=toto&password=toto" --cacert my-cert.crt
私は何ができますか?ユーレカでカスタムホスト名を使用することはできますか?またはDockerの設定を変更する必要がありますか? ありがとうございました。
ありがとうございます、それはうまくいきます –