Nginx配置导致请求成环的问题

前期介绍

在一台主机上部署LAMP,之后使用Nginx实现反向代理,并且实现动静分离。

apache的访问端口为80,Nginx,访问端口为8001端口。

首先可以实现反向代理。

[root@lnmp-247 ~]# cat /usr/local/nginx/conf/nginx.conf
worker_processes  1;
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" "$request_time"'
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  logs/access.log  main;
    log_format json '{"@timestamp": "$time_local", '
                        '"remote_addr": "$remote_addr", '
                        '"referer": "$http_referer", '
                        '"request": "$request", '
			'"request_time": "$request_time", '
                        '"status": $status, '
                        '"bytes": $body_bytes_sent, '
                        '"agent": "$http_user_agent", '
                        '"x_forwarded": "$http_x_forwarded_for", '
                        '"up_addr": "$upstream_addr",'
                        '"up_host": "$upstream_http_host",'
                        '"up_resp_time": "$upstream_response_time",'
                        '"request_time": "$request_time"'
                        ' }';
    access_log  logs/xxx.log main;
    #access_log  logs/access-log.json  json;
    #access_log  logs/access-log.json  main;
    sendfile        on;
    keepalive_timeout  65;
    server {
        listen       8001;
        server_name  localhost 192.168.80.247;
       


#拦截后台请求
      location / {
        proxy_pass http://localhost:80;
        proxy_set_header X-Real-IP $remote_addr;
      }

#拦截静态资源
      location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {
        root static;
        proxy_pass http://localhost:8001;
        proxy_set_header X-Real-IP $remote_addr;
        expires      30d;  
       }






#       location / {
#            proxy_pass http://192.168.80.247;
#            proxy_set_header Host $proxy_host;
#	          proxy_set_header X-Real-IP $remote_addr;
#	          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
#	}
#        location /index/ {
#            root   html;
#            index  index.html screenshot.png;
#        }
#        error_page   500 502 503 504  /50x.html;
#        location = /50x.html {
#            root   html;
#        }
#        location ~ \.php$ {
#            proxy_pass   http://127.0.0.1:80;
#        }
    }
}

使用本机的8001端口可以访问后端的apache部署的wordpress

配置动静分离的时候出现问题

我在/usr/local/nginx/static/img目录下放了照片。

[root@lnmp-247 img]# pwd
/usr/local/nginx/static/img
[root@lnmp-247 img]# ll
总用量 9796
-rw-r--r-- 1 root root 10030790  4月  1 09:47 001.jpg

但是访问本机的的8001端口(nginx的端口),并且配置路径显示504


 

将之前的日志文件备份之后,再次使用tail -f 查看访问日志,在浏览器访问了一次,结果,显示

127.0.0.1 - - [01/Apr/2023:18:55:37 +0800] "GET /img/001.jpg HTTP/1.0" "0.000"502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0" "-"
192.168.80.169 - - [01/Apr/2023:18:55:37 +0800] "GET /img/001.jpg HTTP/1.1" "0.000"502 559 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36 Edg/122.0.0.0" "-"

据此推测有可能成环

再次查看配置的文件

#拦截静态资源
      location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {
        root static;
        proxy_pass http://localhost:8001;
        proxy_set_header X-Real-IP $remote_addr;
        expires      30d;  
       }

相当于nginx的8001端口,接收到访问请求之后,再次转向了本机的8001端口,导致请求成环,8001端口不断的转向8001端口,导致请求成环。,并且之访问一次之后出现大量的访问日志,
所以尝试将配置文件修改为

#拦截静态资源
      location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|js|css)$ {
        root static;
        #proxy_pass http://localhost:8001;
        #proxy_set_header X-Real-IP $remote_addr;
        expires      30d;  
       }

之后重启nginx服务,再次访问服务器

显示访问成功。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值