php - 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;
}
}
请帮我。谢谢
解决方案
如果没有 Lua,您可以尝试将您的proxy_redirect off;
行编辑为proxy_redirect http://10.128.0.10:80 http://my.domain.com:80;
.
可能在末尾用斜杠和/或在开头重复该行(端口 443 而不是 80)。
推荐阅读
- javascript - difference between async array.map() and async npm package
- python - Creating a Nested XML document in Python
- c - 我无法使用 /proc/{pid}/fd/0 写入标准输入
- python - Mysql_exceptions.OperationalError: (1241, '操作数应包含 1 列')。我究竟做错了什么?
- javascript - 使用'&&'和'||'有什么区别 通过三元运算符('?'和':')?
- bash - Shell driver install with `ACCEPT_EULA=Y` error
- javascript - 如何在 networkD3 / d3Network 网络图中禁用鼠标悬停效果(GNU R 包)
- java - 为什么我的 Alexa Skills Kit 依赖项缺失?
- vba - 在 ActiveX 复选框上使用 MouseMove 创建工具提示
- c++ - 如何将整数数组相乘以产生单个数字?