首页 > 解决方案 > Nginx 反向代理到运行 PHP 应用程序的远程 Nginx 服务器

问题描述

我已经使用以下配置设置了一个在 RHEL 服务器上运行的 PHP 应用程序,并且还在 nginx.conf 文件中进行了一些更改,该应用程序运行良好。

magento.conf

upstream fastcgi_backend {
  server   unix:/run/php-fpm/magento.sock;
}
server {
    listen 80;
    set $MAGE_ROOT /var/www/magento2;
    set $MAGE_MODE developer;
    access_log /var/log/nginx/magento-access.log;
    error_log /var/log/nginx/magento-error.log;
    include /var/www/magento2/nginx.conf.sample;
}

我有另一个 nginx 服务器,我试图将其用作远程服务器上运行的 PHP 应用程序的反向代理。我面临的问题是当我从我的 Nginx IP 加载站点时,浏览器中的 URL 更改为 PHP 应用程序服务器的 IP。

我希望 IP 与 Nginx 服务器的 IP 保持相同,而不是更改为 PHP 应用程序服务器的 IP

反向代理的配置文件在 reverse.conf下面

server {
  listen 80;
  #server_name mydomain.com;
    location / {
      access_log off;
      proxy_pass http://10.128.0.10:80;
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $host;
      proxy_redirect     off;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

请帮我。谢谢

标签: phpnginxreverse-proxynginx-reverse-proxy

解决方案


如果没有 Lua,您可以尝试将您的proxy_redirect off;行编辑为proxy_redirect http://10.128.0.10:80 http://my.domain.com:80;.

可能在末尾用斜杠和/或在开头重复该行(端口 443 而不是 80)。

https://unix.stackexchange.com/a/291007/239596


推荐阅读