nginx代理无法访问后端服务

现象

nginx配置location网页显示css/js文件无法加载,但是后端服务访问正常,估计是后端服务将后缀路径写死导致nginx无法跳转

报错
10.2.81.19|05/Aug/2022:08:47:52 +0000|GET /yj HTTP/1.1|404|721|-|-|10.1.75.17:20005|404|0.001|0.001
处理

以下这种也写法也可以,但是配置有多个location就会乱了

location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
{
proxy_pass "http://域名+端口";

最好一个rewrite针对具体的location

location /prod {
        proxy_pass http://10.1.5.17:20005;
		rewrite ^/prod(.*) http://10.1.5.17:20005/$1 permanent;
}
### 配置Nginx反向代理指定后端服务器访问地址 在Nginx中配置反向代理并指定后端服务器的访问地址主要通过`upstream`指令定义一组服务器列表,或者直接在location块中使用`proxy_pass`指令指向特定的后端服务器。对于简单的单个后端服务器情况,可以在server块内的location部分直接利用`proxy_pass http://backend_address;`来实现请求转发[^1]。 当涉及到多台后端服务器时,则推荐采用`upstream`模块来进行管理: ```nginx upstream backend_servers { server 192.168.0.1:80; server 192.168.0.2:80; } server { listen 80; server_name example.com; location / { proxy_pass http://backend_servers; } } ``` 上述代码展示了如何创建一个名为`backend_servers`的上游组,并将其与某个路径下的所有请求关联起来。这样做的好处是可以轻松管理和扩展后端服务器池,而无需修改其他地方的配置[^4]。 如果希望基于客户端IP地址进行负载均衡以达到会话保持的效果,可在`upstream`区块加入`ip_hash;`语句: ```nginx upstream backend_server { ip_hash; server backend1.example.com; server backend2.example.com; server backend3.example.com; } ``` 此设置确保来自相同IP地址的请求会被定向至同一台后端服务器处理,在某些应用场景下非常有用。 完成配置更改之后,记得执行命令使新配置生效。可以通过`nginx -s reload`快速应用最新的配置文件而不中断现有连接;如果是首次启动或遇到无法热更新的情况,则可能需要用`systemctl restart nginx`重启整个服务进程[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值