eu quero me conectarexemplo.com/api/buyeexemplo.com/api/sellpara um site específico por meio de proxy reverso.
Então, estou tentando me conectar atravéslocalhost/api/comprarelocalhost/api/vendacom nginx.
Eu configurei o arquivo de configuração conforme abaixo.
server {
listen 80;
server_name localhost;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
location = /api/buy {
return 302 /api/buy/;
}
location /api/buy/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://example.com:80/;
proxy_redirect off;
}
location = /api/sell {
return 302 /api/sell/;
}
location /api/sell/ {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header HOST $host;
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://example.com:82/;
proxy_redirect off;
}
}
Mas se eu conectar/api/buy e/api/sell, recebo um erro 404 não encontrado.
Você pode configurá-lo usando uma porta diferente.
Quero configurá-lo para a mesma porta, mas existe alguma maneira?
Responder1
Quando a localização é especificada usando uma expressão regular e também dentro de locais nomeados.
Nestes casos, proxy_pass deve ser especificado sem URI.
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass