nginx代理转发访问目标服务器的laravel异常

1. 运行环境#

linux

1). 当前使用的 Laravel 版本?#

laravel 5.2

2). 当前使用的 php/php-fpm 版本?#

PHP 版本:5.6

3). 当前系统#

CentOS 7

4). 业务环境#

生产环境

5). 相关软件版本#

2. 问题描述?#

A 服务器:
ip:172.25.201.202:8005
nginx 转发配置:

nginx代理转发访问目标服务器的laravel异常

B 服务器:
ip:10.104.180.151
nginx 配置

nginx代理转发访问目标服务器的laravel异常

laravel 代码部署在 B 服务器上
env 文件:

nginx代理转发访问目标服务器的laravel异常
app.php 文件:

nginx代理转发访问目标服务器的laravel异常

问题:
浏览器上访问 A 服务器 IP 无法正常加载 B 服务器上的 lavael 代码
资源加载异常:浏览器地址栏是 A (172.25.201.202)
文件的数据地址是 B(10.104.180.151)
网站显示异常
nginx代理转发访问目标服务器的laravel异常

nginx代理转发访问目标服务器的laravel异常

3. 您期望得到的结果?#

希望能通过 A 的 ip 正常加载访问网站
//: <> (能截图就截图。)

4. 您实际得到的结果?#

《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
最佳答案

额,这不就是明显的转发没带上原主机信息导致的地址错误么。
参考我这个教程里 关于转发层 nginx 的写法 www.showdoc.com.cn/help/7240953917...
主要是增加几个 header 重写。

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header http_user_agent $http_user_agent;
2年前 评论
waypdc (楼主) 2年前
讨论数量: 5

B 服务器 nginx 配置 server_name 修改成 localhost 或者 10.104.180.151

2年前 评论
waypdc (楼主) 2年前

proxy_pass http://10.104.180.151 去掉末尾斜杠。
B server 设置为默认站点。
先用外网访问 B 站点,确认能访问,目测截图中没有 laravel 的伪静态。
A 先用外网代理到 B,再改为内网。
确认 AB 内网互通。
查看 B 全局 nginx 日志。

2年前 评论

额,这不就是明显的转发没带上原主机信息导致的地址错误么。
参考我这个教程里 关于转发层 nginx 的写法 www.showdoc.com.cn/help/7240953917...
主要是增加几个 header 重写。

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header http_user_agent $http_user_agent;
2年前 评论
waypdc (楼主) 2年前