用于多个域和同一应用程序的Nginx配置

时间:2018-08-30 23:36:15

标签: tomcat nginx

我有以下情况:

将在单个服务器上为单个tomcat实例的单个上下文提供多个不同域的单个应用程序。 (所有域的dns都已配置并正常运行)

也就是说,当浏览器指向该地址时,我需要它:

domain1.com >>重定向到>> http://127.0.0.1/websiteapp

domain2.com >>重定向到>> http://127.0.0.1/websiteapp

domainn.com.br >>重定向到>> http://127.0.0.1/websiteapp

在应用程序中(通过请求URL)检索到调用域,即它是我的客户端标识符,并且通过该域,我在数据库中获取信息并将配置的视图返回给该客户端。

我这样配置NGINX(最低配置):

server {
      listen          80;
      server_name     domain1.com.br;
      root /opt/tomcat2/webapps/websites;

      location / {
            proxy_pass http://127.0.0.1:8080/websitesapp;
            proxy_set_header  Host $http_host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


      }
}


server {
      listen          80;
      server_name     domain2.com.br;
      root /opt/tomcat2/webapps/websites;

      location / {
            proxy_pass http://127.0.0.1:8080/websitesapp;
            proxy_set_header  Host $http_host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


      }
}


server {
      listen          80;
      server_name     domainn.com.br;
      root /opt/tomcat2/webapps/websites;

      location / {
            proxy_pass http://127.0.0.1:8080/websitesapp;
            proxy_set_header  Host $http_host;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;


      }
}

Tomcat server.xml

<Context docBase="websitesapp" path="/" reloadable="true" source="org.eclipse.jst.jee.server:websitesapp"/>

在应用程序中,我检索域,并使用从数据库中加载的信息“挂载”视图。

此设置正确吗?

有什么方法可以更安全地将域传递给tomcat,即无需通过浏览器的URL检索它吗?

这种方法是否有禁忌症?

还有其他更有趣的方法吗?

0 个答案:

没有答案