Nginx文件已经存在全局反向代理问题排查记录


Posted in Servers onJuly 15, 2022

项目场景:

阿里云搭建的宝塔Linux面板,上面已经搭建过其它网站了,我现在给一个新增的网站增加一个反向代理端口,但是通过宝塔面板添加反向代理的时候,出现了下图伪静态的错误。

Nginx文件已经存在全局反向代理问题排查记录

问题描述

伪静态/nxinx主配置/vhost/文件已经存在全局反向代理

这个问题是其实是告诉我们nginx配置文件里面一个网站只能包含一个location /,不然就会产生报错了。

原因分析:

问题已经非常清楚了,就是nginx.conf的相关配置出现问题。

第一步,查看网站的相关配置文件,直接点击网站进入详情就可以查看配置文件了。

Nginx文件已经存在全局反向代理问题排查记录

server
{
    listen 80;
    server_name www.123456.com;
    index index.php index.html index.htm default.php default.htm default.html;
    root /www/wwwroot/www.123456.com;
    
    #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则
    #error_page 404/404.html;
    #SSL-END
    
    #ERROR-PAGE-START  错误页配置,可以注释、删除或修改
    #error_page 404 /404.html;
    #error_page 502 /502.html;
    #ERROR-PAGE-END
    
    #PHP-INFO-START  PHP引用配置,可以注释或修改
    include enable-php-74.conf;
    #PHP-INFO-END
    
    #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效
    include /www/server/panel/vhost/rewrite/www.123456.com.conf;
    #REWRITE-END
    
    #禁止访问的文件或目录
    location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
    {
        return 404;
    }
    
    #一键申请SSL证书验证目录相关设置
    location ~ \.well-known{
        allow all;
    }
    
    location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
    {
        expires      30d;
        error_log /dev/null;
        access_log /dev/null;
    }
    
    location ~ .*\.(js|css)?$
    {
        expires      12h;
        error_log /dev/null;
        access_log /dev/null; 
    }
    access_log  /www/wwwlogs/www.123456.com.log;
    error_log  /www/wwwlogs/www.123456.com.error.log;
}

可以看到我这个配置页面并没有出现单独的location /规则,都是加入了相关的后缀限制。但是可以看到上面还出现了一个  include /www/server/panel/vhost/rewrite/www.123456.com.conf 重写的规则配置文件。

切换到这个目录查看这个文件。

Nginx文件已经存在全局反向代理问题排查记录

可以看到这个文件也是空的,没有任何配置,有些问题可能是配置了下面的伪静态规则,如果配置了的话,会显示在那个rewrite文件夹下的配置文件里面的。

Nginx文件已经存在全局反向代理问题排查记录

现在基本可以确定这个网站的配置,没有伪静态配置,也没有其它单独的location /配置。

那问题只能出在了nginx.conf原本的配置文件里面了,可以在下面的路径查看nginx文件配置,如果你首页添加了nginx的图标,也可以直接点进去配置,也可以直接通过ssh软件登录然后直接修改文件。

Nginx文件已经存在全局反向代理问题排查记录

Nginx文件已经存在全局反向代理问题排查记录

查看这个nginx.conf配置文件

user  www www;
worker_processes auto;
error_log  /www/wwwlogs/nginx_error.log  crit;
pid        /www/server/nginx/logs/nginx.pid;
worker_rlimit_nofile 51200;

events
    {
        use epoll;
        worker_connections 51200;
        multi_accept on;
    }

http
    {
        include       mime.types;
        #include luawaf.conf;


        include proxy.conf;

        default_type  application/octet-stream;

        server_names_hash_bucket_size 512;
        client_header_buffer_size 32k;
        large_client_header_buffers 4 32k;
        client_max_body_size 50m;

        sendfile   on;
        tcp_nopush on;

        keepalive_timeout 60;

        tcp_nodelay on;

        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
        fastcgi_buffer_size 64k;
        fastcgi_buffers 4 64k;
        fastcgi_busy_buffers_size 128k;
        fastcgi_temp_file_write_size 256k;
        fastcgi_intercept_errors on;

        gzip on;
        gzip_min_length  1k;
        gzip_buffers     4 16k;
        gzip_http_version 1.1;
        gzip_comp_level 2;
        gzip_types     text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
        gzip_vary on;
        gzip_proxied   expired no-cache no-store private auth;
        gzip_disable   "MSIE [1-6]\.";

        limit_conn_zone $binary_remote_addr zone=perip:10m;
        limit_conn_zone $server_name zone=perserver:10m;

        server_tokens off;
        access_log off;

server
    {
        listen 888;
        server_name phpmyadmin;
        index index.html index.htm index.php;
        root  /www/server/phpmyadmin;
        location ~ /tmp/ {
               return 403;
          }


        #error_page   404   /404.html;
        include enable-php.conf;

        location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
        {
            expires      30d;
        }

        location ~ .*\.(js|css)?$
        {
            expires      12h;
        }

        location ~ /\.
        {
            deny all;
        }
        
        location / {
            if (!-e $request_filename){
                rewrite  ^(.*)$  /index.php?s=$1  last;   break;
            }
        }

        access_log  /www/wwwlogs/access.log;
    }
    include /www/server/panel/vhost/nginx/*.conf;
}

可以看到,确实存在一个location /匹配规则, 虽然这个规则是属于一个server:888端口下的配置,先删除再说,然后下面还看到一个Include 文件夹。去这个文件夹下查看,这个配置文件就是我们通过宝塔面板配置的网站参数配置,不需要再查看了。

删除上面那个location /, 再去添加反向代理,这次添加直接成功了。

Nginx文件已经存在全局反向代理问题排查记录

解决方案:

首先需要了解nginx.conf各个路径的配置文件,这个问题涉及到三个路径的配置文件。

第一个是网站的伪静态重写配置文件,在/www/server/panel/vhost/rewrite/ 路径的文件夹下。

第二个是网站本身的配置文件,在/www/server/panel/vhost/nginx/ 路径的文件夹下。

第三个最后一个是nginx.conf配置文件,这个一般都是在/www/server/nginx/conf/ 路径下,然后查看每个配置是否存在location / 匹配规则,有的话需要删除。

这次是因为nginx.conf文件下的server:888块存在一个location / 匹配规则,把红色部分删除掉就行了。

总结

到此这篇关于Nginx文件已经存在全局反向代理问题排查记录的文章就介绍到这了,更多相关Nginx全局反向代理排查内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!


Tags in this post...

Servers 相关文章推荐
Z-Order加速Hudi大规模数据集方案分析
Mar 31 Servers
Apache Hudi的多版本清理服务彻底讲解
Mar 31 Servers
HDFS免重启挂载新磁盘
Apr 06 Servers
Windows Server 2008 修改远程登录端口以及配置防火墙
Apr 28 Servers
nginx 配置缓存
May 11 Servers
nginx lua 操作 mysql
May 15 Servers
zabbix配置nginx监控的实现
May 25 Servers
nginx rewrite功能使用场景分析
May 30 Servers
Linux下搭建SFTP服务器的命令详解
Jun 25 Servers
Zabbix对Kafka topic积压数据监控的问题(bug优化)
Jul 07 Servers
GPU服务器的多用户配置方法
Jul 07 Servers
Linux在两个服务器直接传文件的操作方法
Aug 05 Servers
搭建zabbix监控以及邮件报警的超级详细教学
Jul 15 #Servers
nginx七层负载均衡配置详解
Jul 15 #Servers
Linux安装Docker详细教程
Jul 07 #Servers
Docker安装MySql8并远程访问的实现
Jul 07 #Servers
Docker部署Mysql8的实现步骤
Jul 07 #Servers
教你nginx跳转配置的四种方式
kubernetes集群搭建Zabbix监控平台的详细过程
You might like
利用PHP实现与ASP Banner组件相似的类
2006/10/09 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
php微信开发之上传临时素材
2016/06/24 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
用javascript getComputedStyle获取和设置style的原理
2008/10/10 Javascript
关于Jqzoom的使用心得 jquery放大镜效果插件
2010/04/12 Javascript
js实现的跟随鼠标移动的时钟效果(中英文日期显示)
2011/01/17 Javascript
重载toString实现JS HashMap分析
2011/03/13 Javascript
基于jQuery实现左右div自适应高度完全相同的代码
2012/08/09 Javascript
本地图片预览(支持IE6/IE7/IE8/Firefox3)经验总结
2013/03/25 Javascript
jquery mobile事件多次绑定示例代码
2013/09/13 Javascript
原生js ActiveXObject获取execl里面的值
2013/11/01 Javascript
JavaScript实现的SHA-1加密算法完整实例
2016/02/02 Javascript
JS实现图文并茂的tab选项卡效果示例【附demo源码下载】
2016/09/21 Javascript
canvas实现简易的圆环进度条效果
2017/02/28 Javascript
JS实现倒计时图文效果
2018/11/17 Javascript
jQuery内容过滤选择器与子元素过滤选择器用法实例分析
2019/02/20 jQuery
微信小游戏中three.js离屏画布的示例代码
2020/10/12 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
Python中的ctime()方法使用教程
2015/05/22 Python
python抽象基类用法实例分析
2015/06/04 Python
Python实现选择排序
2017/06/04 Python
python写入已存在的excel数据实例
2018/05/03 Python
解决pandas中读取中文名称的csv文件报错的问题
2018/07/04 Python
windows下python 3.6.4安装配置图文教程
2018/08/21 Python
Python脚本按照当前日期创建多级目录
2019/03/01 Python
PHP如何防止SQL注入
2014/05/03 面试题
自我鉴定范文300字
2013/10/01 职场文书
团队口号大全
2014/06/06 职场文书
班组拓展活动方案
2014/08/14 职场文书
2014年教研组工作总结
2014/11/26 职场文书
导游词之上海豫园
2019/10/24 职场文书
Redis延迟队列和分布式延迟队列的简答实现
2021/05/13 Redis
python使用tkinter实现透明窗体上绘制随机出现的小球(实例代码)
2021/05/17 Python
解决Tkinter中button按钮未按却主动执行command函数的问题
2021/05/23 Python
纯html+css实现奥运五环的示例代码
2021/08/02 HTML / CSS