NGINX 未将调用从 React 应用程序路由到后端应用程序

2023-12-15

我有一个 AWS Ubuntu 服务器,它托管在 127.0.0.1:4100 运行的 React 前端,并使用端口 127.0.0.1:1323 对 Go 应用程序进行 api 调用。我安装了 Nginx 并为这两个端口设置了代理通行证/etc/nginx/sites-available/default配置文件,但我只得到 Nginx 调用的前端。使用 chrome 检查检查 Go 应用程序为何不提供 React 应用程序的某些功能,我看到此错误

client.js:772 获取http://127.0.0.1:1323/api/净::ERR_CONNECTION_REFUSED ERROR 错误:请求已终止 可能原因:网络离线、Access-Control-Allow-Origin 不允许 Origin、页面正在卸载等。

我究竟做错了什么?下面是我的默认配置文件

server { 

listen 80 default_server; 
listen [::]:80 default_server; 

server_name _; 

location / { 

proxy_pass http://127.0.0.1:4100; 

} 

location /api { 

proxy_pass http://127.0.0.1:1323/; 

 } 
}

您的服务器正在监听 80 端口:

listen 80 default_server; 
listen [::]:80 default_server; 

因此,您应该向该端口发出请求:

GET http://127.0.0.1/api/     => http://127.0.0.1:1323/
GET http://127.0.0.1:80/api/  => http://127.0.0.1:1323/
GET http://127.0.0.1/         => http://127.0.0.1:4100/
GET http://127.0.0.1:80/      => http://127.0.0.1:4100/

那么 nginx 应该正确代理你的请求。

Update

更清楚地了解 nginx 配置。

server { 

listen 80 default_server;  // The port nginx is listening to ipv4
listen [::]:80 default_server; // The port nginx is listening to ipv6

server_name _; 

location / { // When you call this location...

proxy_pass http://127.0.0.1:4100; // You'll be redirected to this location

} 

location /api { // When you call this location...

proxy_pass http://127.0.0.1:1323/; // You'll be redirected to this location

 } 
}

你的配置没问题根据 nginx 文档.

你说你的客户正试图联系http://127.0.0.1:1323/api/但应该要求http://127.0.0.1/api/(不带端口)重定向到http://127.0.0.1:1323/.

这是另一个例子:

server { 

    listen 80; 

    server_name localhost anywebsite.com; 

    location ~* ^/MyApp {
        proxy_pass http://localhost:5130;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_send_timeout 2m;
        proxy_read_timeout 2m;
    }
}

在这种情况下,每次我的网址以/MyApp ex.: http://anywebsite.com/api/MyApp我被代理到http://localhost:5130。但如果我尝试访问http://localhost:5130 or http://anywebsite.com:5130/api/MyApp我不能,因为 nginx 仅监听端口 80。如果你想访问另一个端口,你需要这样指定:

server {
    listen 80; 
    listen 5130; 

[...]
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

NGINX 未将调用从 React 应用程序路由到后端应用程序 的相关文章

  • 为什么 Nginx 以相反的顺序提供客户端 SSL DN?

    我很好奇为什么某些 Web 服务器 例如 Nginx 以相反的顺序提供客户端 SSL DN Web 应用程序将 DN 发布到 Java Web 服务 该服务尝试创建 Javajavax naming ldap LdapName http d
  • Nginx vs Apache 用于高流量站点

    Would nginx作为高流量网站的网络服务器是否是更合适的选择 我们将建立的网站是一个电子商务网站 如果这有什么不同的话 无论哪种方式 从技术角度来看 我真的对实际的 原因 感兴趣 即 为什么会nginx从技术角度来看 对于此类网站来说
  • Amazon ECS - 在 Docker 入口点上使用 IAM 角色时权限被拒绝

    我正在寻找一种将机密 证书注入 Amazon ECS 容器的方法 就我而言 它是一个简单的 nginx 容器 我一直在使用 AWS Parameter Store 关注这篇文章 https aws amazon com blogs comp
  • 使用 client_body_in_file_only 进行 nginx 文件上传

    晚上好 我需要将静态内容上传到 nginx 服务器 1 9 因此上传模块不适用于此版本 我读过这篇文章 Nginx 直接文件上传 无需通过后端传递 https coderwall com p swgfvw nginx direct file
  • ./manage.py 使用 https 运行服务器

    manage py 运行服务器 0 0 0 0 8000 我使用上面的行作为我从 github 借用的代码的一部分 https github com ribeiroit boh puppet https github com ribeiro
  • NGINX 与 Tomcat 配置

    我是 Nginx 新手 我需要你的帮助 根据很多论坛我了解到我们所有的静态页面都存储在Nginx中 当有请求到来时 我必须将该请求传递给 tomcat 获取数据 并在 tomcat 生成响应后生成响应 目前 我刚刚做到了 我将请求直接传递给
  • 上传大文件(几 GB)时,nginx 返回内部服务器错误

    我在 nginx 后面有一个 Artifactory 上传大于 4 GB 的文件失败 我相当确定这是 nginx 的错误 因为如果文件从本地主机上传 上传到本地主机 则不会出现问题 nginx 设置为client max body size
  • nginx - 记录 SSL 握手失败

    我正在运行启用了 SSL 的 nginx 服务器 我的协议 密码设置相当安全 我已经在 ssllabs com 上检查过它们 但是 因为这是一个由我无法控制的 http 客户端调用的 Web 服务 所以我担心兼容性 重点是 有没有办法在我的
  • nginx 反向代理 websocket

    nginx 现在支持代理 websockets 但我无法找到任何有关如何在没有单独的情况下执行此操作的信息location应用于使用 websocket 的 URI 的块 我见过一些人推荐这种方法的一些变体 location proxy h
  • 我可以在 Nginx Conf 中添加多少个服务器块

    知道我可以在 Nginx 配置中添加多少个服务器块吗 我需要将它用于具有多个子域的反向代理 每个客户端一个子域 它能成功支持 10 000 个服务器块吗 有没有相关的基准研究 这实际上并不是一个你有多少人的问题can但你有多少 能够妥善处理
  • Django + uwsgi + ngnix + 调试关闭 = 服务器错误(500)

    我正在尝试设置一个由 Django uwsgi Nginx 组成的生产服务器 我正在关注的教程位于此处http www panta info blog 3 how to install and configure nginx uwsgi a
  • NGINX hashbang 重写

    我想知道 hashbang url 的位置或重写 nginx 指令会是什么样子 基本上像前端控制器一样通过 hashbang 路由所有非 hashbanged url 所以 http example com about staff 将路由至
  • 常规请求期间 Django AJAX 请求未通过

    我有一个带有登录网页的 Django 站点 当提交页面上的登录表单时 它会执行登录视图 该视图会在其中运行一个需要很长时间处理 30秒左右 的函数 因此 为了在登录期间向客户端显示进度 一旦提交表单 登录页面上的 JS 函数就会开始向服务器
  • 使用nginx容器作为反向代理时的原始url

    我有一个 Web 应用程序部署为码头集装箱 我也有一个nginx容器 使用dnsmasq解析器 设置为充当 Web 应用程序前面的反向代理 它的 80 端口映射到主机 我的应用程序使用 SSO 身份验证 当我使用身份提供商登录时 回调 ur
  • 连接到上游时 Nginx 错误:(13:权限被拒绝)

    我在我的中收到此错误nginx error log file 2014 02 17 03 42 20 crit 5455 0 1 connect to unix tmp uwsgi sock failed 13 Permission den
  • Beanstalk 部署忽略 .ebextensions 中的 nginx 配置文件

    我在单实例 Elastic Beanstalk 环境中托管 Java Web 应用程序 并添加了几个 ebextension 文件 这些文件在每次部署时成功为我创建配置文件 然而 我无法找到一种方法让 Beanstalk 在 etc ngi
  • 抑制 nginx 访问被拒绝错误日志

    我在 nginx 中设置了一些规则来拒绝 IP 访问 这很有效 但对于来自被拒绝 IP 的每个请求 都会记录以下开头的错误 error 7325 0 5761 access forbidden by rule client 有没有办法抑制这
  • Nginx merge_slashes 重定向

    我在我的 Java 应用程序中使用 nginx 我的问题是 nginx 正在合并斜杠 我无法将我的网站重定向到正确的版本 例如 http goout cz cs koncerty praha 被合并到 http goout cz cs ko
  • Django + nginx + uwsgi 无法登录

    我有非常简单的登录逻辑 类似于官方 Django 解决方案 class Login FormView template name login html form class AuthenticationForm def get self a
  • 连接被拒绝:当uwsgi和nginx在不同容器中时

    我正在尝试设置两个 docker 容器 是的 无需 docker compose 分开 一个带有 nginx 另一个带有带有基本 Flask 应用程序的 uwsgi 我在 docker 内的同一网络中运行容器我的 nginx 配置已添加 链

随机推荐

  • SED:匹配同一行上的 2 个模式

    您好 我想使用 sed 删除一行 如果它与同一行中的 2 个正则表达式匹配 EG 该行以 开头 以 结尾 注释 下面的脚本将完成大部分工作 sed e d e d 文件名 该脚本将删除所有以 开头并以 结尾的行 我希望它仅在满足两个条件而不
  • 当应用程序位于前台时如何处理 Firebase 通知

    我已将 Firebase Cloud Messaging 与我的应用程序集成 当我从 Firebase 控制台发送通知时 如果应用程序处于后台或未打开 我会成功收到通知 否则 如果应用程序位于前台或打开 我没有收到它 感谢所有建议 当应用程
  • C 中数组初始化中的方括号是什么意思?

    static uint8 t togglecode 256 0x3A CAPSLOCK 0x45 NUMLOCK 0x46 SCROLLLOCK 是什么意思 0x3A 这里 我只学到了像这样的陈述int a 2 1 2 这意味着初始化n 数
  • 模拟器上的越狱应用程序?

    我正在 Xcode 上为越狱的 iPhone 开发应用程序 我使用的是 Xcode 4 2 我的 iPhone 操作系统是 iOS6 我无法将我的iPhone与XCode连接进行测试 因为XCode 4 2不支持iOS6 每次当我编译代码并
  • 在 Python 中使用空格有什么陷阱吗?

    目前 我在 Python 中从未遇到过空格问题 尽管我只在两个项目中使用过它 而且我是唯一的程序员 对于学习 Python 的人来说 Python 中的空格和缩进有哪些潜在的陷阱 在某些编辑器中 一行用空格缩进 而下一行用制表符缩进 这可能
  • 如何根据动态字段对 solr 结果进行排序

    我需要根据动态字段对结果进行排序 我怎样才能做到这一点 当我对其中一些动态属性的最小值进行排序时 它没有给出正确的结果 因为我的查询就像 sort min A 160018 A chandigarh1 一些文档同时具有这两个字段A 1600
  • python 从 tsv 文件链接一个列表

    我有这个 tsv 文件 其中包含一些链接路径 每个链接由 分隔我想用 在下面的示例中 我们可以看到文件中的文本是分开的 我只想通读最后一列 这是一条以 14th 开头的路径 6a3701d319fc3754 1297740409 166 1
  • 如何从 PHP 文本中删除空行?

    我需要在 PHP 中删除空白行 带有空格或绝对空白 我使用这个正则表达式 但它不起作用 str ereg replace t r n str str preg replace t r n str 我想要的结果是 blahblah blahb
  • 如何在 Android 4.2 中以编程方式卸载 USB 驱动器

    我读过很多关于这个主题的文章 但我还没有找到解决方案 在我的应用程序中 我需要在将文件从 USB 驱动器复制到平板电脑后卸载 USB 驱动器 这样我就可以安全地删除它 而无需使用 设置 菜单 现在我正在使用这个方法 Utility copy
  • 如何通过ARC确保IOS 5中单例的销毁?

    比如说 我想创建一个里面有一些数据的单例 正如在单例中所期望的那样 数据仅动态分配一次 但我现在想知道何时以及如何发布这些数据 我应该建立特殊的方法来破坏单例吗 更具体地说 何时执行该单例的 dealloc 方法 谁对此负责 您可以声明显式
  • 尝试通过php执行python命令但权限错误

    我上传了一个图像文件并将其从临时文件夹复制到 var www 内的文件夹 然后 尝试通过 php 执行 python 命令 其中exec 命令采用以下格式 exec python file py FILES file name 即使执行以下
  • 如何从spark连接到远程hive服务器[重复]

    这个问题在这里已经有答案了 我在本地运行 Spark 想要访问位于远程 Hadoop 集群中的 Hive 表 我可以通过在 SPARK HOME 下启动 beeline 来访问配置单元表 ml master spark 2 0 0 bin
  • R,绘图,多个绘图图形中字体大小的变化

    我正在为出版物创建图表 并希望它们具有相同的字体大小 当我创建一个图形时多块地块 the 字体变小即使我没有改变tiff 分辨率或pointsize范围 我根据最终适合的绘图数量增加了图形大小 并确保单个和多个绘图图形的边距相等 以下是示例
  • 在 linq 中,为什么 IEnumerable.Intersect 的后续调用要快得多

    在看这个问题的时候C 两个数组的相似之处人们注意到 最初的 linq 调用比后续调用慢得多 缓存的是什么造成了如此大的差异 我感兴趣的是我们何时可以实现这种类型的行为 也许这只是因为一遍又一遍地使用相同的列表 static void Mai
  • 谷歌图表中垂直轴静态的水平滚动

    我在用google chart在我的应用程序中 我想实现滚动 我可以通过设置容器 div 的样式来做到这一点 但问题是它会随着轴滚动整个图表 如何仅水平滚动图表区域并保持垂直轴静态 可视化 API 有一个内置控件来处理图表滚动 图表范围过滤
  • jQuery - 通过 AJAX 提交表单并将结果页面放入 div...?

    我正在使用 jQuery 表单 http jquery malsup com form 将数据发送到表单 有没有办法可以在不刷新的情况下将表单生成的结果页面放入页面上的 div 中 任何建议表示赞赏 我会建议not使用该表单插件 它是在没有
  • 角度中的不安全链接

    在 AngularJS 中 在以下场景中 Firefox 将unsafe 在按以下方式生成的 url 前面 然后它会显示一个错误页面 指出 地址无法理解 这是我本地 PC 上的文件请求 Link li a href fruit title
  • 在同一台服务器上运行 Vue.js 和 Laravel(同一端口)

    我正在开发一个网站 使用 Laravel 作为后端 Vue js 2 作为前端 现在每次我想运行我的网站时我都必须使用两个命令 php artisan serve 这将在端口 8000 上运行 laravel 服务器 npm run dev
  • Matlab:矩阵中每一行的Argmax和点积

    我有2个矩阵 X in R n m and W in R k m where k lt
  • NGINX 未将调用从 React 应用程序路由到后端应用程序

    我有一个 AWS Ubuntu 服务器 它托管在 127 0 0 1 4100 运行的 React 前端 并使用端口 127 0 0 1 1323 对 Go 应用程序进行 api 调用 我安装了 Nginx 并为这两个端口设置了代理通行证