server {
listen 8666;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location /Serv/Api/AccessToken {
proxy_pass http://192.168.4.20:8771 ;
}
location /Serv/Api/OfferSub {
proxy_pass http://10.3.113.20:8771 ;
}
}
nginx同一个前端页面需要跨域访问两个ip地址的接口,nginx可以这样代理配置吗
现在需求就是同一个网页需要请求不同ip地址的接口地址,第一个可以正常代理,实现跨域,第二个不行,网上查了可以配置多个server,但是那样的话就不可以配置同样的端口,无法实现一个端口代理访问多个ip的接口
在Nginx中,可以通过定义多个server块来代理多个IP地址。每个server块都代表一个独立的IP地址。
以下是一个基本的示例,它将代理所有来自指定IP地址的请求:
```nginx http { upstream backend { server 192.168.1.1:80; server 192.168.1.2:80; }
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
}
}
} ```
在这个示例中,upstream backend
定义了一个名为backend
的上游服务器,该服务器将处理来自所有example.com
IP地址的请求。然后,server
块定义了一个名为example.com
的服务器,该服务器将直接处理来自example.com
的请求。
请注意,你需要将192.168.1.1
和192.168.1.2
替换为你的实际IP地址。此外,如果你想要处理来自不同IP地址的请求,你可以定义多个upstream backend
。
如果你想处理来自不同IP地址的请求,你可以定义多个server
块,并为每个server
块指定一个upstream backend
。例如:
```nginx server { listen 80; server_name example.com;
location / {
proxy_pass http://backend;
}
server {
listen 80;
server_name example2.com;
location / {
proxy_pass http://backend;
}
}
} ```
在这个示例中,有两个server
块,每个块都将直接处理来自example.com
和example2.com
的请求。