我使用jhipster subgenerator为Cloud Foundry在Cloud Foundry中部署了jHipster(v2.3)。此后,Gateway也成功部署。在部署过程期间或之后,日志跟踪中没有出现任何错误或问题,并且已在CF中创建路由。
Gateway的图片已在jHipster Registry UI
中注册单击上面显示的Gateway的实例URL后,出现以下错误:
502 Bad Gateway:已注册的端点无法处理请求
Gateway 中的对应登录是这样的:
"GET /favicon.ico HTTP/1.1" 502 0 67 "http://XXXXXXX/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/56.0.2924.87 Safari/537.36" 10.146.54.251:50172 10.146.54.148:62452 x_forwarded_for:"10.23.3.122, 10.146.54.251" x_forwarded_proto:"http" vcap_request_id:f63848c7-c58f-47cf-6c5a-cabf007dcc31 response_time:0.003393796 app_id:1b4faa60-05ec-41d7-a075-fe391e688739 app_index:0
相应的注册表日志如下:
2017-07-09T17:12:41.961-04:00 [RTR/3] [OUT] - [09/07/2017:21:12:41.958 +0000] "PUT /eureka/apps/GATEWAY/bb95da05-b1c5-46b5-4718-463f8022fd36:Gateway:mbo-gateway-2.0.0:8082?status=UP&lastDirtyTimestamp=1499633621406 HTTP/1.1" 200 0 0 "-" "Java-EurekaClient/v1.4.10" 10.146.54.243:46930 10.146.54.133:64594 x_forwarded_for:"10.146.54.148, 10.146.54.243" x_forwarded_proto:"http" vcap_request_id:85431f6c-a916-45a5-7498-2fe012ae2338 response_time:0.002340557 app_id:17cfd70b-8fcd-4d15-bac7-cd4a5b73a976 app_index:0
application-cloudfoundry.yml文件如下所示:
eureka:
instance:
prefer-ip-address: false
hostname: ${vcap.application.uris[0]}
nonSecurePort: 80
client:
enabled: true
healthcheck:
enabled: true
registerWithEureka: true
fetchRegistry: true
serviceUrl:
defaultZone: http://username:password@jhipsterregistry.XXXXXX/eureka
日志没有任何迹象表明可能出现的问题或我缺少的参数。
如果我部署一个简单的微服务并通过Postman进行REST调用(绕过网关,那么请求就会很好。这似乎只是Gateway的一个问题。
有人可以提供建议或提供意见吗?
非常感谢!
答案 0 :(得分:0)
问题已经解决了。
Cloud Foundry端口对于HTTP只能是80。
在更改帮助解决问题的Cloud Config Project之前,我确实尝试通过设置
来覆盖该属性spring.cloud.config.overrideSystemProperties = false
spring.cloud.config.overrideNone = true
在manifest.yml中但是没有用。
一个观察结果是,配置中定义的 server.port 属性捆绑为应用程序(bootstrap.yml,application.yml)本身的一部分 - 而不是Spring Cloud Config 在运行时被覆盖因此这些微服务没有遇到这个问题。