我正在建立两个网站,两个网站都在单独的 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;
}
}