问题是,我们有一个单一的域名,但我们有两个不同技术的两个服务器。例如: NodeJS和Tomcat Server。但是我想,当用户输入域名时,它应该把它带到NodeJS服务器,并在网站上点击登录按钮,它应该被重定向到tomcat服务器。但DNS名称不应更改。
示例:Domain Name - example.com
1) nodeJs server :: on port 3000 2) Tomcat server :: on port 8080
当用户访问example.com时。节点Js应该会响应。但是如果我点击像login这样的按钮,它会把我带到tomcat(URL: example.com/login )。
发布于 2019-11-20 19:42:09
这就是您可能需要使用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;
}
}发布于 2019-11-20 19:43:36
使用子域并将DNS服务设置为将它们指向不同的IP地址。
example.com > nodeJs IP login.example.com > Tomcat IP
这就避免了显示端口号或其他类似的东西,用户只会在不同的地方看到单词"login“-- login.example.com而不是example.com/login
https://stackoverflow.com/questions/58953227
复制相似问题