`

nginx 出现Cannot assign requested address问题分析

 
阅读更多

问题描述:

2019/02/14 15:45:30 [crit] 12608#0: *109984486 connect() to 127.0.0.1:80 failed (99: Cannot assign requested address) while connecting to upstream, client: 127.0.0.1, server: localhost, request: "GET /picture/554495.jpg HTTP/1.0", upstream: "http://127.0.0.1:80/picture/554495.jpg", host: "127.0.0.1"

 nginx报这个错

nginx配置:如下

location ~*  /picture\/(\d+)\.(gif|jpg|jpeg|png)$ {  

   expires 24h;  

            root /picture/;#指定图片存放路径  

            access_log /usr/local/nginx/logs/images.log;#日志存放路径  

            proxy_store on;  

            proxy_store_access user:rw group:rw all:rw;  

            proxy_temp_path         /picture/;#图片访问路径  

            proxy_redirect          off;  

            proxy_set_header        Host 127.0.0.1;  

            client_max_body_size    10m;  

            client_body_buffer_size 1280k;  

            proxy_connect_timeout   900;  

            proxy_send_timeout      900;  

            proxy_read_timeout      900;  

            proxy_buffer_size       40k;  

            proxy_buffers           40 320k;  

            proxy_busy_buffers_size 640k;  

            proxy_temp_file_write_size 640k;  

            if ( !-e $request_filename)  

            {  

                 proxy_pass  http://127.0.0.1;#默认80端口  

            }    

       } 

原因分析:原有的80端口请求已经太多,有大量的socket连接没有释放,图片请求访问仍然去访问80端口

只有不让访问80端口就可以不报这个错误了

网上解决办法(使用这个方法之后还是会报错)

使用Amazon EC2和弹性IP,服务器并不像大多数其他服务器那样知道其IP。

所以你需要告诉你的linux允许进程绑定到非本地地址。只需将以下行添加到/etc/sysctl.conf文件中:

# allow processes to bind to the non-local address
# (necessary for apache/nginx in Amazon EC2)
net.ipv4.ip_nonlocal_bind = 1

然后通过以下方式重新加载sysctl.conf:

$ sysctl -p /etc/sysctl.conf

重新启动就行了

-----

最后 将以下代码注释掉就没错了

if ( !-e $request_filename)  

            {  

                 proxy_pass  http://127.0.0.1;#默认80端口  

            }   

 ----------

http://dev.cbs.bacic5i5j.com/picture/554495.jpg 再次访问的时候报

2019/02/14 16:13:05 [error] 13308#0: *110623237 open() "/picture/picture/554495.jpg" failed (2: No such file or directory), client: 10.1.20.35, server: localhost, request: "GET /picture/554495.jpg HTTP/1.1", host: "dev.cbs.bacic5i5j.com"

 发现图片路径后面多了一个picture

root /picture/;#指定图片存放路径 

把这个改成  root /;

就可以了

最后完成的nginx配置如下

location ~*  /picture\/(\d+)\.(gif|jpg|jpeg|png)$ {  
			expires 24h;  
            root /;#指定图片存放路径  
            access_log /usr/local/nginx/logs/images.log;#日志存放路径  
            proxy_store on;  
            proxy_store_access user:rw group:rw all:rw;  
            proxy_temp_path         /picture/;#图片访问路径  
            proxy_redirect          off;  
            proxy_set_header        Host 127.0.0.1;  
            client_max_body_size    10m;  
            client_body_buffer_size 1280k;  
            proxy_connect_timeout   900;  
            proxy_send_timeout      900;  
            proxy_read_timeout      900;  
            proxy_buffer_size       40k;  
            proxy_buffers           40 320k;  
            proxy_busy_buffers_size 640k;  
            proxy_temp_file_write_size 640k;  
            #if ( !-e $request_filename)  
            #{  
            #     proxy_pass  http://127.0.0.1;#默认80端口  
            #}    
       } 

 

分享到:
评论

相关推荐

    nginx安装, 解决跨域问题

    在现代Web开发中,由于浏览器的同源策略,跨域问题经常出现,限制了不同源之间的通信。Nginx作为一个高性能的反向代理服务器,常被用于处理此类问题。本篇将详细介绍如何在Linux环境下安装Nginx,并通过修改配置文件...

    Nginx日志分析工具2.1.0.zip

    使用Nginx日志分析工具2.1.0进行日志分析,不仅可以提高运维效率,还能有效地预防和解决可能出现的性能瓶颈和安全问题。例如,通过分析访问日志,可以找出访问量大但响应慢的页面,优化网页代码或调整服务器配置来...

    nginx跨域问题,解决多端口,多ip问题

    Nginx 跨域问题解决方案 Nginx 是一个流行的开源 Web 服务器软件,广泛应用于 Web 服务器管理。然而,在使用 Nginx 进行服务器管理时,经常会遇到跨域问题。跨域问题是指在不同的域名、端口或协议下,无法访问...

    Nginx解决转发地址时跨域的问题

    一、什么是跨域问题 在一个服务器A里放置了json文件,另一个服务器B想向A发送ajax请求,获取此文件,会发生错误。 Chrome提示: XMLHttpRequest cannot load ******. No 'Access-Control-Allow-Origin' header is ...

    nginx源码剖析

    nginx源码说明;其他下载即可,没下载分了,大家互相帮忙。其他情况大概就这些吧,其他也没什么好说的了,看文档即可

    Nginx部署及常见问题.zip

    Nginx部署及常见问题,Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx部署及常见问题Nginx...

    nginx实现跨域访问遇到的问题

    2. 配置 Nginx 上的砖发的 Nginx 配置问题导致无法实现跨域请求,是因为他的 Nginx 打在 Windows 系统上,Windows 和 Linux 在配置上有一点区别,在 Windows 上需要去掉 rewrite 的配置,去掉这个后来就好了。...

    nginx1.18 nginx1.18 nginx1.18

    在使用 Nginx 1.18 的过程中,理解其配置语法和工作原理至关重要,这将有助于优化服务器性能,解决可能出现的问题,并充分利用其功能。通过持续学习和实践,你可以成为熟练驾驭 Nginx 的专业人士。

    使用docker部署nginx前后端解决跨域问题.docx

    使用docker部署nginx前后端解决跨域问题

    nginx源代码剖析

    《Nginx源代码剖析》是一本深入探讨Nginx web服务器内部机制的书籍,作者为simohayha。本书主要关注Nginx的核心设计、内存管理、请求处理流程、过滤器机制、输出链管理、并发控制以及处理器设计等多个方面,旨在帮助...

    nginx解决前后分离开发跨域问题

    为了解决这个问题,我们可以利用Nginx作为反向代理服务器,将前端的请求转发到后端服务,从而绕过跨域限制。 Nginx是一款高性能、轻量级的HTTP和反向代理服务器,因其强大的负载均衡能力和高效的性能而广泛应用于...

    Nginx1.8.0安装简述

    Nginx 1.8.0 安装简述 Nginx 是一种流行的开源 Web 服务器软件,广泛应用于生产环境中。为了帮助读者快速掌握 Nginx 的安装过程,本文将详细介绍 Nginx 1.8.0 的安装步骤。 一、下载依赖项 在安装 Nginx 之前,...

    深入剖析Nginx

    《深入剖析Nginx》不是一本关于Nginx配置指令如何使用的介绍手册。《深入剖析Nginx》重点在于通过剖析Nginx的源代码,探究其功能结构及其内部实现原理。全书共14章和3个附录。首先介绍了开始剖析Nginx源代码前的准备...

    arm 架构 docker运行nginx镜像包

    arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构 docker运行nginx镜像包,arm 架构...

    在linux系统上升级nginx版本

    随着 Nginx 的不断更新和发展,升级 Nginx 版本成为一个不可避免的问题。本文将指导您在 Linux 系统上升级 Nginx 版本,确保升级过程的顺滑和安全。 为什么需要升级 Nginx 版本 升级 Nginx 版本可以带来一些好处,...

    基于loki+grafana的在线nginx日志分析系统

    在IT行业中,日志分析是监控和调试应用性能的关键环节,尤其对于Web服务器如Nginx来说更是如此。本文将详细介绍如何使用Loki和Grafana构建一个在线的日志分析系统,该系统基于Docker Compose进行一键部署,极大地...

    docker里面nginx目录挂载启动失败

    标题中的问题“docker里面nginx目录挂载启动失败”涉及到Docker容器化技术中Nginx服务器的部署,尤其是关于容器的挂载目录设置和启动问题。这个问题的核心在于,尝试将宿主机上的目录挂载到Docker容器内的Nginx配置...

    Linux服务器nginx访问日志里出现大量http 400错误的请求分析

    服务器中的错误记录类似于这种: 124.65.133.242 – – [27/Oct/2014:14:30:51 +0800] “-” 400 0 “-” “-” 124.65.133.242 – – [27/Oct/2014:14:31:45 +0800] “-” 400 0 “-” ...经过分析nginx的log文件,发

    nginx-1.13.3,nginx1.13.3不存在信息泄漏漏洞安全稳定nginx版本

    使用 Nginx 1.13.3 的用户可以通过内置的访问日志功能进行性能监控,同时还可以利用第三方工具(如 Nginx Plus 或监控系统如 Prometheus)进行更深度的分析。定期更新到最新安全补丁和版本是维持服务器安全的关键...

    自动reload nginx解决nginx对动态域名不重新解析的Shell脚本

    **自动Reload Nginx以解决动态域名解析问题** 在IT运维中,经常遇到的情况是,服务器上的服务IP可能会发生变化,特别是对于使用动态DNS服务的场景。Nginx作为一款广泛使用的反向代理和负载均衡器,它在配置文件中...

Global site tag (gtag.js) - Google Analytics