我需要传递一个主机代理URL来连接到在nginx中作为代理传递提到的其他URL。
示例:如果我必须通过Linux服务器框连接到google.com,我必须将代理设置为xyz.org:80,然后才能连接到google.com。
那么如何在nginx配置中实现呢?
我的Nginx配置文件示例如下:
server{
listen 80;
server_name *;
return 301 https://$host$request_uri;
}
location / {
sendfile on;
try_files $uri $uri/ /index.html
/keepalive.html;
}
location /xyz{
proxy_pass google.com/
}
在这里,我需要在Nginx配置中传递我的代理xyz.org:80,然后才能连接到google.com /。
基本上,我服务器盒的每个请求都应该通过xyz.org:80传递到nginx配置中提到的proxy_pass位置。
我尝试映射http主机和服务主机并将其传递到该位置,但它无法正常工作:
map $http_host $served_host {
default $http_host;
xyz.org:80 www.google.com;
}
location /xyz{
proxy_pass google.com/;
proxy_set_header Host $served_host;
}