簡體   English   中英

如何在 apache/nginx 中為 Spring Boot 多租戶應用程序創建反向代理

[英]How do I create a reverse proxy in apache/nginx for a spring boot multitenant app

我需要在准備就緒的 Spring Boot 中為多租戶應用程序創建 POC。 我需要配置一個代理來將租戶名稱傳遞給 tomcat 應用服務器。 此名稱用於區分租戶。 默認租戶是 app。 租戶名稱是動態的。 它類似於 Shopify 所做的,其中每個商店名稱都是 storename.shopify.com 。

例如對於 app1.example.com。 代理應該將 app1 轉發到 spring,對於 app2.example.com; 代理應該將 app2 轉發到 spring 嗎?

一個指向正在運行的 springboot 應用程序的簡單反向代理配置解決了這個問題。 在我的 spring 應用程序中,我檢索標頭信息以顯示每個租戶的信息。

反向代理配置

<VirtualHost *:80>
    ServerAdmin support@mydomain.com
    ServerName www.mydomain.com
    #ServerAlias *.mydomain.com


    ProxyPreserveHost  On
    ProxyPass  / http://127.0.0.1:8082/
    ProxyPassReverse  / http://127.0.0.1:8082

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>

用於檢索服務器信息的 Spring Boot Config

String schemeName = httpServletRequest.getScheme();     
String serverName = httpServletRequest.getServerName();

暫無
暫無

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

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