如何使用两台服务器管理单个域名?

时间:2019-11-20 11:25:15

标签: java node.js tomcat server dns

问题是,我们只有一个域名,但是我们有两个采用两种不同技术的服务器。示例:NodeJS和Tomcat服务器。但是我想,当用户键入域名时,应将其带到NodeJS服务器,然后单击站点上的登录按钮,然后将其重定向到tomcat服务器。但是DNS名称不应更改。

示例: Domain Name - example.com

1) nodeJs server :: on port 3000 2) Tomcat server :: on port 8080

用户访问example.com时。节点Js应该响应。但是,如果我单击“登录”之类的按钮,则应该带我去tomcat(URL:example.com/login)

2 个答案:

答案 0 :(得分:2)

在这里您可能需要使用reverse proxy服务器并将其配置为将请求代理到两个应用程序服务器。您可以使用路径/login配置反向代理服务器来调用Tomcat服务器。我建议您使用ngnix,但Apache httpd也很受欢迎。如果您使用nginx,则您的配置可能看起来像这样:

server {
    listen       80;
    server_name  domain2.com;
    access_log   logs/domain2.access.log  main;

    # pass request to the tomcat server
    location /login {
      proxy_pass  http://127.0.0.1:8080;
    }

    # pass request to the node server
    location / {
      proxy_pass  http://127.0.0.1:3000;
    }
  }

答案 1 :(得分:0)

使用子域并设置您的DNS服务,使其指向不同的IP地址。

example.com> nodeJs IP login.example.com> Tomcat IP

这避免显示端口号或类似的名称,用户只会在其他位置看到“登录”一词- 用login.example.com代替example.com/login