Java 如何在apache/nginx中为spring boot多租户应用程序创建反向代理

Java 如何在apache/nginx中为spring boot多租户应用程序创建反向代理,java,spring-boot,reverse-proxy,multi-tenant,nginx-reverse-proxy,Java,Spring Boot,Reverse Proxy,Multi Tenant,Nginx Reverse Proxy,我需要在spring boot中为多租户应用程序创建POC,该应用程序已准备就绪。我需要配置一个代理将租户名称传递给tomcat应用服务器。此名称用于区分租户。默认租户是app。租户名称是动态的。这与Shopify的做法类似,每个商店的名称都是storename.Shopify.com 例如,对于app1.example.com。代理应该将app1转发给spring,例如app2.example.com;代理应该将app2转发给spring?一个指向正在运行的springboot应用的简单反向代

我需要在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>

一个指向正在运行的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>

这听起来像是正常的vhost nginx设置这听起来像是正常的vhost nginx设置