Ну, пробовали ВСЕ учебники, ВСЕ ответили на Stackoverflow. Но я все еще сталкиваюсь с той же ошибкой:
На Heroku клиенты Eureka получают случайные порты, которые я не знаю, откуда они берутся.
И эти случайные порты отличаются от переменной среды Heroku $ PORT. Я знаю, что $ PORT - это порт Dyno контейнера, а не хост-порт xxxxx.herokuapp.com, к которому может получить доступ внешний мир. Опять же, я не знаю, откуда берутся эти порты !!!
Клиенты ссылок в Eureka Dashboard остаются такими:
hdfb2324-8jfw-83ud-dkdf-9ej90jefj201.qwer. dyno.rt.heroku.com:inight-ws-gateway:$ndomRANDOM PORT}
Когда я нажимаю, go до https://inight-ws-gateway.herokuapp.com: $ {RANDOM PORT} / привод /Информация. Я беру Тайм-аут, потому что правильный порт 443, по умолчанию Https.
У меня есть 3 приложения, 1 сервер Eureka и 2 клиента Eureka (Zuul Gateway и тривиальный API отдыха).
Каждый работает хорошо, когда я запускаю на своем локальном хосте, но когда я внедряю в Heroku, это происходит.
Eureka Server application.yaml:
server:
port: ${PORT}
spring:
application:
name: '@project.artifactId@' # inight-ws-discovery
version: '@project.version@'
eureka:
client:
fetch-registry: false
register-with-eureka: false
management:
endpoints:
enabled-by-default: false
web:
exposure:
include:
- health
- info
endpoint:
health:
enabled: true
info:
enabled: true
Eureka Client (Zuul gateway) application.yaml:
server:
port: ${PORT}
spring:
application:
name: '@project.artifactId@' # inight-ws-gateway
version: '@project.version@'
eureka:
instance:
hostname: ${INIGHT_EUREKA_INSTANCE_HOSTNAME} # inight-ws-gateway.herokuapp.com
client:
enabled: true
fetch-registry: true
register-with-eureka: true
service-url:
defaultZone: ${INIGHT_EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE} # https://inight-ws-discovery.herokuapp.com/eureka/
healthcheck:
enabled: true
zuul:
sensitive-headers:
- Cookie
management:
endpoints:
enabled-by-default: false
web:
exposure:
include:
- health
- info
- routes
endpoint:
health:
enabled: true
info:
enabled: true
routes:
enabled: true
jwt:
config:
privateKey: ${INIGHT_JWT_CONFIG_PRIVATEKEY}
Eureka Client (Rest API) application.yaml:
server:
port: ${PORT}
spring:
application:
name: '@project.artifactId@' # inight-ws-auth
version: '@project.version@'
datasource:
hikari:
schema: inight
jdbc-url: ${INIGHT_DATASOURCE_JDBC_URL}
username: ${INIGHT_DATASOURCE_USERNAME}
password: ${INIGHT_DATASOURCE_PASSWORD}
driver-class-name: ${INIGHT_DATASOURCE_DRIVER_CLASS_NAME}
jpa:
show-sql: ${INIGHT_JPA_SHOW_SQL}
hibernate:
ddl-auto: ${INIGHT_JPA_HIBERNATE_DDL_AUTO}
eureka:
instance:
hostname: ${INIGHT_EUREKA_INSTANCE_HOSTNAME} inight-ws-auth.herokuapp.com
client:
enabled: true
service-url:
defaultZone: ${INIGHT_EUREKA_CLIENT_SERVICE_URL_DEFAULTZONE} https://inight-ws-discovery.herokuapp.com/eureka/
healthcheck:
enabled: true
management:
endpoints:
enabled-by-default: false
web:
exposure:
include:
- health
- info
endpoint:
health:
enabled: true
info:
enabled: true
jwt:
config:
privateKey: ${INIGHT_JWT_CONFIG_PRIVATEKEY}
swagger.basePackage: br.com.bz.inight.auth.controller