Я использую AWS: ALB, поэтому у меня есть правило, которое перенаправляет весь трафик определенной целевой группе. Работая локально, я могу получить доступ к странице пользовательского интерфейса Swagger без проблем с HTTP. При развертывании в AWS с HTTPS ALB я вижу, что он пытается загрузить некоторый HTTP-контент; которые, конечно, блокируются браузером.
Ошибка:
Mixed Content: The page at 'https://alb.com/alert/docs/swagger-ui.html' was loaded over HTTPS, but requested an insecure XMLHttpRequest endpoint 'http://alb.com/swagger-resources/configuration/ui'.
This request has been blocked; the content must be served over HTTPS.
У меня есть следующее в моей конфигурации в моем проекте, так что пользовательский интерфейс Swagger может загружаться в /alert/docs/swagger-ui.html:
@Configuration
@EnableWebMvc
@ComponentScan
public class DocumentationConfig extends WebMvcConfigurerAdapter {
@Override
public void addViewControllers(ViewControllerRegistry registry) {
registry.addRedirectViewController("/alert/docs/v2/api-docs", "/v2/api-docs");
registry.addRedirectViewController("/alert/docs/configuration/ui", "/configuration/ui");
registry.addRedirectViewController("/alert/docs/swagger-resources/configuration/ui", "/swagger-resources/configuration/ui");
registry.addRedirectViewController("/alert/docs/swagger-resources/configuration/security", "/swagger-resources/configuration/security");
registry.addRedirectViewController("/alert/docs/configuration/security", "/configuration/security");
registry.addRedirectViewController("/alert/docs/swagger-resources", "/swagger-resources");
}
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/alert/docs/**").addResourceLocations("classpath:/META-INF/resources/");
}
}
Мне не хватает какой-либо конфигурации, которая вызывает это?