问题是,我们只有一个域名,但是我们有两个采用两种不同技术的服务器。示例: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)
答案 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