簡體   English   中英

Spring Boot 中的子域路由

[英]Subdomain routing in Spring Boot

基本上,我想要實現的是這樣的

@GetMapping("domain.xyz")
public String getHomepage() {
    [...]
    return "homepage/main.html";
}

@GetMapping("something.domain.xyz")
public String getSubdomainHomepage() {
    [...]
    return "homepage/subdomain.html";
}

domain.xyzsomething.domain.xyz都指向同一個服務器,然后 Spring 應用程序在路由時考慮子域,這樣我就可以在頂級域上有不同的內容,在子域上有不同的內容......

這可以通過 Spring Boot 實現嗎?

(注意:這不是 100% 測試,但可能會工作)

我假設您的 Spring Boot 應用程序前面有一個 Nginx 或 Apache。

以 Nginx 為例,您可以使用 proxy_pass 指令,然后在轉發到 Spring Boot 應用程序時將“Host”標頭設置為“something.domain.xyz”或“domain.xyz”。

因此,您可以增強 GetMappings 以篩選 Host 標頭值

@GetMapping(value ="/", headers="Host=domain.xyz")
public String getHomepage() {
    [...]
    return "homepage/main.html";
}

@GetMapping(value ="/", headers="Host=something.domain.xyz")
public String getSubdomainHomepage() {
    [...]
    return "homepage/subdomain.html";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM