让 spring boot 路由到您的子域,而不是 localhost

Posted

技术标签:

【中文标题】让 spring boot 路由到您的子域,而不是 localhost【英文标题】:get springboot to route to your subdomain as opposed to localhost 【发布时间】:2020-07-15 20:07:16 【问题描述】:

假设我有一个域“example.com”。现在,使用 caddy,我已将 example.com 配置为在 localhost 8080 上运行的 springboot 应用程序的代理。如何正确转到应用程序内的其他路由?例如,如果我转到https://example.com/user,则 url 将是:example.com/user。但是如果我从 springboot 应用程序中从那里路由到 /login (可以说在控制器中的用户路由末尾使用 return new RedirectView("/login") ),它会将我重定向到 http:serverIpAdress:8080 /登录。我怎样才能让它路由到https://example.com/login?

【问题讨论】:

【参考方案1】:

这不是 Spring 的问题; Caddy 需要正确配置如下:

subdomain                                                                        
    proxy / ipAddress:port  
        transparent                                                                   
                                                                                             

1) 注意 caddyfile 中的间距。我最初尝试过但它没有用,我相信原因是因为我创建了这样的文件:subdomain 代理 / ipAddress:port 透明 2)它确实起作用了一点点混乱,从我在互联网上看到的许多地方看来,它们似乎从 api 中删除了透明

【讨论】:

以上是关于让 spring boot 路由到您的子域,而不是 localhost的主要内容,如果未能解决你的问题,请参考以下文章

AWS 中的 Elastic Beanstalk 子域 CNAME 记录在哪里,以及如何向其中添加 SSL?

Spring Boot 2.X 实战教程开发人员工具

如何使用 Embedded Tomcat 8 和 Spring boot 将子域转换为路径

Spring Boot 控制器建议 - 如何返回 XML 而不是 JSON?

将咖啡脚本合并到您的节点项目中?

ASP.Net Core 5.0 中的子域路由