【发布时间】:2018-08-10 13:32:34
【问题描述】:
我们正面临一个我们并不真正知道它来自哪里的问题。
我们的应用程序使用Spring Cloud、Spring Oauth2 和Spring Boot 1.5.9。入口点是一个 API-Gateway 服务,使用 Zuul 将调用重定向到其他微服务。有一个Authorization-server 来处理Oauth2 授权,不能从外部访问,而是通过API-Gateway。
它被配置为对来自客户端的每个调用使用Https,然后我们在系统内部使用Http 在微服务之间进行通信。它位于配置有证书的Apache proxy 后面,用于使用Https 并禁用端口80。
我们目前遇到的问题是,来自Spring Security 过滤器的每个重定向最终都会在浏览器中从Https 降级为Http,然后由于端口 80 被禁用并且找不到应用程序。
该应用程序以前可以工作,但现在不行了。我们使用 docker,所以我们尝试重新部署以前的图像,但它们也不起作用。 Apache conf 也没有改变。
我们并不确切知道哪个部分出现故障,如果是 Apache proxy 或 Spring 配置,特别是当我们能想到的一切都恢复到以前的工作问题时。
通过此设置,哪些因素会导致重定向发生变化?我们如何验证它? Spring Security 配置会影响这一点,还是更有可能来自 Apache proxy?
这是我们目前拥有的Apache config:
<VirtualHost *:443>
SSLEngine on
SSLCertificateFile /etc/apache2/vpp-api/ssl/server-cert.pem
SSLCertificateKeyFile /etc/apache2/vpp-api/ssl/server-key.pem
SSLVerifyDepth 10
SSLCACertificateFile /etc/apache2/vpp-api/ssl/cacert.pem
<location />
ProxyPreserveHost on
ProxyPass http://localhost:8080/
ProxyPassReverse http://localhost:8080/
</location>
</VirtualHost>
【问题讨论】:
标签: spring security https httpd.conf