2

我遇到了 TSL/SSL 配置问题。一切都像文档中一样配置https://cloud.spring.io/spring-cloud-gateway/multi/multi__tls_ssl.html

server:
  port: 8080
  ssl:
    enabled: true
    key-password: password
    key-store-password: password
    key-store: certificate.p12
    key-store-type: PKCS12

spring:
  cloud:
    gateway:
      httpclient:
        ssl:
          trustedX509Certificates:
            - someCert.pem

使用此配置,无法使用http://localhost:8080/home调用端点- 这是一种理想的行为。

尽管进行了配置,但我可以调用所有端点,例如 https:localhost:8080/home 而无需应用适当的证书。在 chrome 中,我只需单击“仍然继续”即可获得端点的内容。

我不想允许这样做 - 如果您想从外部世界调用端点,您需要拥有客户端证书。这是我的目标,但我错过了一些东西。

如何使用 Spring Cloud Gateway 实现这一点?

4

1 回答 1

0

我意识到这是旧的,但万一其他人遇到它,你错过了一个属性:

server:
  ssl:
    client-auth: need

这将强制服务器在接受连接之前要求客户端证书。

于 2020-03-03T02:17:20.957 回答