目前,我能够从服务器A到服务器B执行所需的重定向,两者都是侦听端口80默认/位置。
我需要的是发送到服务器A端口8080非默认位置/ loc1到服务器B端口80(相同)位置/ loc1
的所有请求的附加转发server {
listen 80;
server_name 1.1.1.1;
return 301 $scheme://1.1.1.2$request_uri;
}
这是否只能通过添加下面的其他服务器部分来实现?
编辑:
server {
listen 8080;
server_name 1.1.1.1;
location /loc1 {
return 301 $scheme://1.1.1.2:80$request_uri;
}
}
感谢任何帮助。
编辑:在配置中有两个上面的“服务器”部分完美无缺。
答案 0 :(得分:1)
是的,您需要一个额外的服务器块才能收听8080.在您提供的第二个配置中,我认为这是一个错字。 8080
不应该在server_name
。此外,在那里使用return语句意味着1.1.1.1:8080
的所有请求将被重定向到1.1.1.2:80
。如果您只想在/loc1
位于URI中时重定向,请添加位置块,如下所示:
server{
listen 8080;
server_name 1.1.1.1;
#rest of your config
location /loc1 {
return 301 $scheme://1.1.1.2:80$request_uri;
}
}