nginx rewrite 出现 403 forbidden

发布于 2022-09-12 00:51:38 字数 1506 浏览 8 评论 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到内网机器的配置是哪里有问题吗?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文