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 相关文章推荐
扩展多台相同的Web服务器
Apr 01 Servers
Nginx location 和 proxy_pass路径配置问题小结
Sep 04 Servers
NGINX 权限控制文件预览和下载的实现原理
Jan 18 Servers
CentOS7安装GlusterFS集群以及相关配置
Apr 12 Servers
tomcat默认最大连接数及相关调整方法
May 06 Servers
配置nginx负载均衡
May 06 Servers
nginx实现多geoserver服务的负载均衡
May 15 Servers
Nginx静态压缩和代码压缩提高访问速度详解
May 30 Servers
linux目录管理方法介绍
Jun 01 Servers
CentOS7安装MySQL8的超级详细教程(无坑!)
Jun 10 Servers
nginx七层负载均衡配置详解
Jul 15 Servers
解决ubuntu安装软件时,status-code=409报错的问题
Dec 24 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
javascript some()函数用法详解
2014/11/13 PHP
PHP实现动态执行代码的方法
2016/03/25 PHP
突发奇想的一个jquery插件
2010/11/19 Javascript
Jquery 例外被抛出且未被接住原因介绍
2013/09/04 Javascript
基于jquery步骤进度条源码分享
2015/11/12 Javascript
Webpack 实现 AngularJS 的延迟加载
2016/03/02 Javascript
实例讲解Jquery中隐藏hide、显示show、切换toggle的用法
2016/05/13 Javascript
Easy UI动态树点击文字实现展开关闭功能
2017/09/30 Javascript
vue  自定义组件实现通讯录功能
2018/09/30 Javascript
angular 服务随记小结
2019/05/06 Javascript
基于JS实现前端压缩上传图片的实例代码
2019/05/14 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
利用原生JS实现data方法示例代码
2019/05/28 Javascript
五分钟搞懂Vuex实用知识(小结)
2019/08/12 Javascript
vue基于better-scroll仿京东分类列表
2020/06/30 Javascript
django启动uwsgi报错的解决方法
2018/04/08 Python
python实现列表中由数值查到索引的方法
2018/06/27 Python
Python饼状图的绘制实例
2019/01/15 Python
对python 中class与变量的使用方法详解
2019/06/26 Python
PyTorch预训练的实现
2019/09/18 Python
flask框架自定义过滤器示例【markdown文件读取和展示功能】
2019/11/08 Python
django 中使用DateTime常用的时间查询方式
2019/12/03 Python
new_zeros() pytorch版本的转换方式
2020/02/18 Python
使用SimpleITK读取和保存NIfTI/DICOM文件实例
2020/07/01 Python
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
龟牌英国商店:Turtle Wax Brand Store UK
2019/07/02 全球购物
法国春天百货官网:Printemps.com
2020/06/29 全球购物
装修设计师求职信
2014/02/26 职场文书
幼儿园大班开学寄语
2014/08/02 职场文书
励志演讲稿500字
2014/08/21 职场文书
学生检讨书范文
2014/10/30 职场文书
监考失职检讨书
2015/01/26 职场文书
观看《筑梦中国》纪录片心得体会
2016/01/18 职场文书
Vue全家桶入门基础教程
2021/05/14 Vue.js
Django + Taro 前后端分离项目实现企业微信登录功能
2022/04/07 Python
SQLyog的下载、安装、破解、配置教程(MySQL可视化工具安装)
2022/09/23 MySQL