网站和接口在同一个服务器接口无法访问nginx该如何配置?-灵析社区

小青梅

前端和服务端都部署在同一个服务器上,使用nginx进行转发接口的请求,但是报错, [error] 15880#15880: *57 connect() failed (111: Connection refused) while connecting to upstream, client: 172.8.203.147, server: , request: "GET /v1/user/list?pageIndex=0&pageSize=18&text= HTTP/1.1", upstream: "https://127.0.0.1:3000/v1", host: "www.test.cn", referrer: "https://www.test.cn/" 我请求的连接是如下 https://www.test.cn/v1/user/list?pageIndex=0&pageSize=18&text= 我想的是,通过test.cn域名会访问到服务器默认端口上,然后让nginx转发到对应的服务端口上,比如我的配置是转到了3000端口上 location \v1{ proxy_pass "https://127.0.0.1:300/v1"; } 结果就报上面的错误,这个该如何解决,或者我这种部署方式咋弄比价好呢? * * * 我的配置如下: location ~* /v1/ { set $backend "https://127.0.0.1:3100/v1"; # 默认的后端服务器地址 if ($scheme = http) { # 判断请求的协议为 HTTP set $backend "http://127.0.0.1:3100/v1"; # 将$backend设置为对应的后端服务器地址 } proxy_pass $backend; # 使用$backend作为proxy_pass的参数 # add_header Cache-Control "no-store, no-cache, must-revalidate, proxy-revalidate"; add_header Content-Type "application/json"; }

阅读量:155

点赞量:0

问AI
proxy这么改: location ^~/v1/ { proxy_pass https://127.0.0.1:300/v1/; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-NginX-Proxy true; proxy_buffers 256 4k; proxy_max_temp_file_size 0k; proxy_connect_timeout 30; proxy_send_timeout 60; proxy_read_timeout 60; proxy_next_upstream error timeout invalid_header http_502; } "Nginx -proxy_pass路径的唯一拼接规则" (https://link.segmentfault.com/?enc=u89NSx5St747gE2OSEGFGA%3D%3D.HdOxV%2BPtPcJ%2BsLxuFG5byYI%2BTg9uzFXPD9wJLEhRi5cq7DWBeuve5481UycVfVEN)