Маршрутизация поддоменов в Spring Boot - PullRequest
0 голосов
/ 19 марта 2020

По сути, я пытаюсь достичь чего-то подобного

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

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

Обе domain.xyz и кое-что.domain.xyz указывают на Затем тот же сервер и приложение Spring учитывают субдомен при маршрутизации, поэтому у меня может быть разное содержимое в домене верхнего уровня и разное содержимое в поддомене (ах) ...

Возможно ли это сделать с помощью Spring Boot

1 Ответ

0 голосов
/ 19 марта 2020

(Примечание: это не 100% тестирование, но, вероятно, будет работать)

Я предполагаю, что у вас есть Nginx или Apache перед приложением Spring Boot.

Например, с помощью Nginx вы должны использовать директиву proxy_pass и затем при пересылке установить заголовок "Host" в вашем "thing.domain.xyz "или" domain.xyz " к вашему приложению Spring Boot.

Таким образом, вы можете улучшить фильтр GetMappings до для значений заголовка хоста .

@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";
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...