0

我正在使用带有功能区负载均衡器和 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。

我将不胜感激任何帮助

4

0 回答 0