我问我是否可以将所有系统请求从 重定向server1.com/service1
到server2.com/service1
..
这就是我的情况。我的主服务器中有一个网络应用程序(mainserver.com),那么我有3台服务器,有一系列的rest服务,例如:
mainserver.com -> web application
serviceserver1.com/createUser
serviceserver2.com/createUser
serviceserver3.com/createUser
服务服务器宕机是很常见的,然后我们必须将服务 URL 更改为另一台服务器并重新启动我们的应用程序(我们无法更改应用程序的行为)
嗯,我正在考虑诸如主机重定向之类的东西或类似的东西,但仅限于 URL 级别,没有主机级别。
答案1
您可以使用 Nginx 来实现:首先您必须配置并上传:
upstream web {
server serviceserver1.com
server serviceserver2.com
server serviceserver3.com
}
那么您要寻找的是:proxy_next_upstream
和proxy_connect_timeout
。
尝试这个:
location / {
proxy_pass $scheme://web;
proxy_redirect off;
proxy_next_upstream error timeout invalid_header http_500;
proxy_connect_timeout 2;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For
$proxy_add_x_forwarded_for;
}