当前位置: 首页 > backend >正文

访问Nginx 前端页面,接口报502 Bad Gateway

先上解决方案:

  • 确保 Nginx 有权限连接到后端端口(28080)。详见解决方案:端口绑定权限被拒绝

  • 如果使用了 SELinux,需要允许 httpd 网络连接:

setsebool -P httpd_can_network_connect 1

问题过程描述:

-----------------------------------------------------------------------------------------------------------------------
http://10.10.10.173:28011/prod-api/code  访问报502 Bad Gateway, 

在本地命令访问curl http://127.0.0.1:28080/code能正常请求到数据。

------------------------------------------------------------------------------------------------------------------------
nginx实际转发配置如下:

server {
           listen 28011;
           server_name esp.icp.com;
           index index.php index.html index.htm default.php default.htm default.html;
           root /home/esp/web/esp-cloud-vue3/dist;
           try_files $uri $uri/ /index.html; # 将所有请求导 index.html

           #PROXY-START/
           location ~ ^/(prod-)?api(.*)$ {
               #rewrite ^/api(.*)$ $1 break;
               rewrite ^/(?:prod-)?api(/.*)$ $1 break;
               proxy_pass http://127.0.0.1:28080;
               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 REMOTE-HOST $remote_addr;
               proxy_set_header Upgrade $http_upgrade;
               # proxy_set_header Connection $connection_upgrade;
               proxy_http_version 1.1;
               # proxy_hide_header Upgrade;

               add_header X-Cache $upstream_cache_status;

               #Set Nginx Cache


               set $static_filedaYAOiSb 0;
               if ( $uri ~* "\.(gif|png|jpg|css|js|woff|woff2)$" )
               {
                set $static_filedaYAOiSb 1;
                expires 1m;
                   }
               if ( $static_filedaYAOiSb = 0 )
               {
               add_header Cache-Control no-cache;
               }
           }

           #PROXY-END/
       }             
               
               
[root@localhost ~]# curl http://127.0.0.1:28080/code
{"msg":"操作成功","img":"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","code":200,"captchaEnabled":true,"uuid":"d8174d238d414802a49a03718935254e"}

http://www.xdnf.cn/news/19139.html

相关文章:

  • 软考 系统架构设计师系列知识点之杂项集萃(137)
  • 如何在 Jenkins Docker 容器中切换到 root 用户并解决权限问题
  • 深入理解 RabbitMQ:从底层原理到实战落地的全维度指南
  • C++之stack类的代码及其逻辑详解
  • 基于DCT-FFT的图像去噪滤波算法
  • GD32入门到实战22--红外NEC通信协议
  • 超越传统SEO:用生成引擎优化(GEO)驱动下一轮增长
  • Tomcat 企业级运维实战系列(三):Tomcat 配置解析与集群化部署
  • UI前端大数据可视化实战策略:如何设计符合用户认知的数据可视化界面?
  • JUC并发编程10 - 内存(02) - volatile
  • vscode terminal远程连接linux服务器GUI图形界面
  • 鸿蒙NEXT布局全解析:从线性到瀑布流,构建自适应UI界面
  • 深入理解计算机端口:为什么通信需要端口?
  • 【读论文】质心重分配显微镜实现活样本超分辨成像
  • Qt中的QSS介绍
  • Time-MOE添加MLP分类头进行分类任务
  • 用户自定义字段(Custom Fields)设计方案,兼顾多语言、分组、校验、权限、查询性能、审计与多租户
  • 创维E910V10C_晶晨S905L2和S905L3芯片_线刷固件包
  • HDMI2.1 8K验证平台
  • 【拍摄学习记录】05-对焦、虚化、景深
  • 告别音色漂移!微软超长语音合成模型VibeVoice正式开源​
  • 数列寻方:等差数列和为完全平方数
  • MinIO社区版“背刺“之后:RustFS用Apache 2.0协议重构开源信任
  • Java接口和抽象类的区别,并举例说明
  • 【Spring Cloud Alibaba】前置知识(一)
  • LeetCode 01背包 494. 目标和
  • 2025_WSL2_Ubuntu20.04_C++20_concept 环境配置
  • AntSK知识库多格式导入技术深度解析:从文档到智能,一站式知识管理的技术奇迹
  • zyplayer-doc 开源知识库:部署与使用指南
  • 千年智造,一触即发 耐达讯自动化Profibus集线器如何让HMI触摸屏在工业4.0中“点石成金“?