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 相关文章推荐
Windows下使用Nginx+Tomcat做负载均衡的完整步骤
Mar 31 Servers
Mac环境Nginx配置和访问本地静态资源的实现
Mar 31 Servers
Nginx使用X-Accel-Redirect实现静态文件下载的统计、鉴权、防盗链、限速等
Apr 04 Servers
Nginx stream 配置代理(Nginx TCP/UDP 负载均衡)
Nov 17 Servers
从零开始在Centos7上部署SpringBoot项目
Apr 07 Servers
Nginx动静分离配置实现与说明
Apr 07 Servers
Docker官方工具docker-registry案例演示
Apr 13 Servers
排查Tomcat进程假死的问题
May 06 Servers
使用Nginx+Tomcat实现负载均衡的全过程
May 30 Servers
解决Vmware虚拟机安装centos8报错“Section %Packages Does Not End With %End. Pane Is Dead”
Jun 01 Servers
Windows server 2003卸载和安装IIS的图文教程
Jul 15 Servers
阿里云服务器(windows)手动部署FTP站点详细教程
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编程注意事项的小结
2013/04/27 PHP
PHP接收json 并将接收数据插入数据库的实现代码
2015/12/01 PHP
Javascript isArray 数组类型检测函数
2009/10/08 Javascript
JS 无限级 Select效果实现代码(json格式)
2011/08/30 Javascript
通过JQuery实现win8一样酷炫的动态磁贴效果(示例代码)
2013/07/13 Javascript
jquery将一个表单序列化为一个对象的方法
2013/12/02 Javascript
Nodejs初级阶段之express
2015/11/23 NodeJs
jquery mobile界面数据刷新的实现方法
2016/05/28 Javascript
详解JavaScript节流函数中的Throttle
2016/07/16 Javascript
Angular懒加载机制刷新后无法回退的快速解决方法
2016/08/30 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
微信小程序实现跟随菜单效果和循环嵌套加载数据
2017/11/21 Javascript
浅谈Vue2.0父子组件间事件派发机制
2018/01/08 Javascript
关于vue编译版本引入的问题的解决
2018/09/17 Javascript
详解mpvue中使用vant时需要注意的onChange事件的坑
2019/05/16 Javascript
Javascript实现鼠标点击冒泡特效
2019/12/24 Javascript
JavaScript回调函数callback用法解析
2020/01/14 Javascript
Python判断文件和字符串编码类型的实例
2017/12/21 Python
通过python+selenium3实现浏览器刷简书文章阅读量
2017/12/26 Python
Python使用matplotlib绘制三维图形示例
2018/08/25 Python
python实现把二维列表变为一维列表的方法分析
2019/10/08 Python
python 计算方位角实例(根据两点的坐标计算)
2020/01/17 Python
pytorch torchvision.ImageFolder的用法介绍
2020/02/20 Python
Python无头爬虫下载文件的实现
2020/04/02 Python
Python如何输出整数
2020/06/07 Python
美国祛痘、抗衰老药妆品牌:Murad
2016/08/27 全球购物
英国网上电器商店:Electricshop
2020/03/15 全球购物
往来会计岗位职责
2013/12/19 职场文书
生日宴会答谢词
2014/01/09 职场文书
法学个人求职信范文
2014/01/27 职场文书
2014中考励志标语
2014/06/05 职场文书
环境科学专业求职信
2014/08/04 职场文书
教师党员自我评议不足范文
2014/10/19 职场文书
精神病医院见习报告
2014/11/03 职场文书
创先争优活动个人总结
2015/03/04 职场文书
python APScheduler执行定时任务介绍
2022/04/19 Python