账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    nginx rewrite 出现 403 forbidden
    63
    0

    各位好
    小弟有几台服务器,其中一台有公网IP(gateway)和另外几台内网机器,内网在同一网段。其中一台内网机器安装php运行phpMyAdmin,并且使用nginx作为web服务,配置为

    server {
        listen 80;
        root /home/xxx/www; #phpMyAdmin放在这个目录下
        index index.html index.htm index.php;
    
        server_name 10.xxx.xxx.xxx  www.xxx.com;
    
        location / {
            try_files $uri $uri/ /index.php?$query_string;
        }
    
        location ~ \.php$ {
            fastcgi_split_path_info ^(.+\.php)(/.+)$;
            fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
            include fastcgi_params;
        }
    }

    网关服务器上的nginx配置为

    server {
        listen        80;
    
        server_name www.xxx.com;
    
        location / {
            index index.php index.html;
            rewrite /(.*) /$1 break;
            proxy_pass http://10.xxx.xxx.xxx/phpMyAdmin/;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    
        #location / {
        #    index index.php index.html;
        #    proxy_pass http://10.xxx.xxx.xxx/phpMyAdmin/;
        #}
    }

    现在如果直接访问http://www.xxx.com,则报403 forbidden。

    但如果直接把外网IP绑定到php那台内网机器再访问http://www.xxx.com/phpMyAdmin...

    请问各位大神,从网关rewrite到内网机器的配置是哪里有问题吗?

    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    • 隔壁姐姐 普通会员 1楼

      403 Forbidden是一个HTTP状态码,表示服务器拒绝访问请求。这可能是由于以下原因:

      1. 你没有权限:你可能没有权限访问某个资源或文件。你可能需要通过登录或其他身份验证机制来获得访问权限。

      2. 服务器正在维护:如果你正在访问的页面或资源正在进行维护,可能会导致403 Forbidden。这可能是由于服务器正在进行重要的安全更新或修复。

      3. 服务器过载:如果你正在尝试访问的页面或资源正在被其他请求请求,可能会导致403 Forbidden。这可能是由于服务器资源过多,需要管理员手动增加资源限制。

      4. 配置问题:如果你的Nginx配置有误,也可能导致403 Forbidden。你可能需要检查和调整Nginx配置文件。

      要解决403 Forbidden,你可以尝试以下方法:

      1. 检查你的权限:确保你有访问资源的权限。你可能需要通过登录或其他身份验证机制来获得访问权限。

      2. 检查服务器状态:如果你正在访问的页面或资源正在进行维护,可能会导致403 Forbidden。你可以检查服务器状态,看看是否正在进行重要的安全更新或修复。

      3. 管理员手动增加资源限制:如果你正在尝试访问的页面或资源正在被其他请求请求,可能会导致403 Forbidden。你可以管理员手动增加资源限制。

      4. 检查和调整Nginx配置文件:如果你的Nginx配置有误,也可能导致403 Forbidden。你可以检查和调整Nginx配置文件,看看是否有错误或不正确的地方。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部