我正在使用带有功能区负载均衡器和 zuul 反向代理的 eureka 微服务架构。目前,网关微服务通过 http 协议在 8080 端口上打开。如何在不删除 http 的情况下使用 https 协议打开另一个端口 8443?
我更改了端口并添加了 ssl 配置,目前我的网关服务属性如下所示:
server.port=8443
server.ssl.enabled=true
server.ssl.key-store=classpath:baeldung.p12
server.ssl.key-store-password=<password>
server.ssl.key-store-type=PKCS12
server.ssl.key-alias=baeldung
server.ssl.client-auth=need
spring.application.name=gateway
zuul.sensitive-headers= Cookie,Set-Cookie
zuul.host.socket-timeout-millis=300000
zuul.host.connect-timeout-millis=300000
zuul.semaphore.maxSemaphores=3000
ribbon.ConnectTimeout=300000
ribbon.ReadTimeout=300000
hystrix.command.default.execution.timeout.enabled=false
hystrix.command.default.execution.isolation.thread.timeoutInMilliseconds=300000
eureka.client.enabled=true
eureka.client.registry-fetch-interval-seconds=5
eureka.client.service-url.defaultZone=<defaultZone>
eureka.instance.prefer-ip-address=true
eureka.instance.lease-renewal-interval-in-seconds=5
eureka.instance.health-check-url-path=/actuator/health
eureka.instance.metadata-map.startup=${random.int}
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
https 很好用,但是我现在如何添加 http 协议呢?
我试图这样做,但它没有帮助我:
@Bean
public ServletWebServerFactory servletContainer() {
Connector connector = new Connector(TomcatServletWebServerFactory.DEFAULT_PROTOCOL);
connector.setPort(8080);
TomcatServletWebServerFactory tomcat = new TomcatServletWebServerFactory();
tomcat.addAdditionalTomcatConnectors(connector);
return tomcat;
}
我现在想到的唯一解决方案是制作一个单独的网关服务,它只接受 https。
我将不胜感激任何帮助