Nginx 根(/)位置 proxy_pass 未加载 index.php

Nginx 根(/)位置 proxy_pass 未加载 index.php

我正在建立两个网站,两个网站都在单独的 apache 服务器上运行。1 是 mydomain.com,2 是 mydomain.com/abc/,mydomain.com 托管在服务器 A 192.168.10.10 上,mydomain.com/abc 托管在服务器 B 192.168.10.11 上,最重要的是我已经设置了一个具有公共 IP 的 Nginx 反向代理。 我的问题是- 我在 /var/www/html/index.php 下设置了一个 index.php,并且在这个 php 文件中我添加了一个条件,比如如果 mydomain.com 在我的国家/地区之外受到攻击,那么它会加载 mydomain.com,否则它会加载 mydomain.com/abc,并且通过使用以下配置,我的index.php 文件未加载它直接重定向到 mydomain.com,我想我需要更改位置/但我不知道要进行哪些更改,寻求您的帮助

我的 Nginx 配置

server {
    listen 80 default_server;
    listen [::]:80 default_server;
    root /var/www/html;
    index index.php;
    server_name mydomain.com www.mydomain.com;

   location = / {
           root /var/www/html;
           index index.php;

           try_files $uri $uri/ =404;
            proxy_pass http://192.168.10.10;
    }

    location /abc {
            index index.php;
            proxy_pass http://192.168.10.11:8080/abc/index.html;
            }

    location ~ \.php$ {
     include snippets/fastcgi-php.conf;
     fastcgi_pass unix:/var/run/php/php7.2-fpm.sock;
    }
    }

提前致谢

答案1

下面的设置可以帮助我加载 index.php 文件,但是对于 /location,我得到了 301 太多的重定向。

    server {
    listen       80;
    server_name  example.com;

    location = / {
        rewrite ^ /index.php permanent;
    }

    location / {
        proxy_pass http://example.com:80;
    }

    location /abc {
        proxy_pass http://example.com:8080;
    }

    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   /var/www/html;
    }

    }

相关内容