You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

部署Spring Boot+Vaadin应用后Swagger UI请求报错,需改用HTTPS请求

解决curl发送HTTPS请求及相关报错问题

1. 直接修改curl命令为HTTPS协议

将原命令中的http替换为https,执行以下命令即可发送HTTPS请求:

curl -X 'POST' \
  'https://myapp.alwaysdata.net/api/auth/logout' \
  -H 'accept: application/json' \
  -d ''

2. 确认alwaysdata主机的HTTPS配置

  • 登录alwaysdata后台,检查你的域名是否已开启HTTPS(alwaysdata免费主机默认支持HTTPS,一般会自动配置SSL证书)。
  • 无需在Spring Boot中单独配置SSL证书,alwaysdata会将外部HTTPS请求转发到应用的内部HTTP端口,确保应用监听平台指定的端口即可。

3. 调整Spring Boot的CORS配置(若仍有跨域问题)

如果切换HTTPS后仍出现CORS相关报错,在Spring Boot中添加CORS配置,允许HTTPS来源的请求:

@Configuration
public class CorsConfig {
    @Bean
    public CorsFilter corsFilter() {
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        CorsConfiguration config = new CorsConfiguration();
        // 允许所有HTTPS来源,也可指定具体域名如https://myapp.alwaysdata.net
        config.addAllowedOriginPattern("https://*");
        config.addAllowedMethod("*");
        config.addAllowedHeader("*");
        config.setAllowCredentials(true);
        source.registerCorsConfiguration("/api/**", config);
        return new CorsFilter(source);
    }
}

4. 适配Swagger UI的HTTPS访问

修改Swagger配置,让其生成HTTPS协议的API地址,避免Swagger UI调用时的协议不匹配:

@Configuration
@OpenAPIDefinition(info = @Info(title = "API Docs", version = "v1"))
public class SwaggerConfig {
    @Bean
    public OpenAPI customOpenAPI() {
        return new OpenAPI()
                .servers(List.of(new Server().url("https://myapp.alwaysdata.net")));
    }
}

内容的提问来源于stack exchange,提问作者IceMajor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:17:05