Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/video/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js “重复位置”/&引用;Nginx错误后端和前端_Node.js_Amazon Elastic Beanstalk_Nginx Reverse Proxy - Fatal编程技术网

Node.js “重复位置”/&引用;Nginx错误后端和前端

Node.js “重复位置”/&引用;Nginx错误后端和前端,node.js,amazon-elastic-beanstalk,nginx-reverse-proxy,Node.js,Amazon Elastic Beanstalk,Nginx Reverse Proxy,我在端口5000上运行Express服务器,在8080上运行React应用程序 我的想法是基于位置(uri)直接通信,但在AWS Beanstalk ngnix配置中的这一部分插入导致了重复的位置“/”错误: location / { root /var/app/current/build/; try_files $uri /index.html; proxy_http_version 1.1; proxy_pass

我在端口5000上运行Express服务器,在8080上运行React应用程序

我的想法是基于位置(uri)直接通信,但在AWS Beanstalk ngnix配置中的这一部分插入导致了重复的位置“/”错误:

location / {
  root                /var/app/current/build/;
  try_files           $uri /index.html;
  proxy_http_version  1.1;
  proxy_pass          http://127.0.0.1:8080/;
  proxy_set_header    Host $host;
  proxy_set_header    X-Real-IP $remote_addr;
  proxy_set_header    Connection $connection_upgrade;
  proxy_set_header    Upgrade $http_upgrade;
  proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
}

location /socket-io {
  proxy_pass                http://127.0.0.1:5000/;
  proxy_set_header          Host $host;
  proxy_set_header          X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header          X-NginX-Proxy true;
  proxy_set_header          X-Real-IP $remote_addr;
  proxy_ssl_session_reuse   off;
  proxy_cache_bypass        $http_upgrade;
}

这包含在标准ngnix.conf中,大致如下所示:

这是和的一些组合,因为AWS文档不断变化

在EC2上,文件
/etc/nginx/conf.d/elasticbeanstalk/00_application.conf
是附加在主
nginx.conf
文件上的文件,行为
/etc/nginx/nginx.conf

然而

工作目录中的
.platform/nginx/conf.d/your_custom.conf
就是真正的nginx扩展文件

我不得不手动更改EC2上的
00_application.conf
,以消除重复错误,即使在使用自定义配置文件重新部署时,该文件似乎仍保持默认状态,并且该文件恰好有一个
位置/{}


因此,我建议现在使用container_命令方法或手动更改它。

这是与的某种组合,因为AWS文档不断变化

在EC2上,文件
/etc/nginx/conf.d/elasticbeanstalk/00_application.conf
是附加在主
nginx.conf
文件上的文件,行为
/etc/nginx/nginx.conf

然而

工作目录中的
.platform/nginx/conf.d/your_custom.conf
就是真正的nginx扩展文件

我不得不手动更改EC2上的
00_application.conf
,以消除重复错误,即使在使用自定义配置文件重新部署时,该文件似乎仍保持默认状态,并且该文件恰好有一个
位置/{}


因此,我建议现在使用container_命令方法或手动更改它。

我进一步建议阅读Amazon Linux 2(AL2)的更改,这是一个新的设置:您还可以删除
.platform/hooks/predeploy
脚本中的00_application.conf,我的只是有一个默认的位置块,基于AL2的文档,我们应该能够覆盖整个conf,但是它说要包含conf.d文件。所以,像在/now上为http返回301这样的操作不起作用?这是出于设计,我们必须用脚本删除冲突文件吗?正如AL2所提到的,我还没有尝试完全替换(
.platform/nginx/nginx.conf
)。我目前正在使用
location.conf
设置
/
和另一个路径。请务必让我们知道,如果您在没有脚本的情况下使用完整配置替换,我想我本来是想这样做的,但出于某种原因,它不起作用。我只是替换了整个配置,还发现我需要重建EC2环境。似乎当你尝试不同的事情,移动文件时,其中一些配置文件会粘住,并在你不想让它们移动时用于配置代理。我进一步建议你阅读Amazon Linux 2(AL2)的更改,这是一个新的设置:您还可以在
.platform/hooks/predeploy
脚本中删除00_application.conf,我的脚本中有一个默认位置块。根据AL2的文档,我们应该能够覆盖整个conf,但它说要包含conf.d文件。所以,像在/now上为http返回301这样的操作不起作用?这是出于设计,我们必须用脚本删除冲突文件吗?正如AL2所提到的,我还没有尝试完全替换(
.platform/nginx/nginx.conf
)。我目前正在使用
location.conf
设置
/
和另一个路径。请务必让我们知道,如果您在没有脚本的情况下使用完整配置替换,我想我本来是想这样做的,但出于某种原因,它不起作用。我只是替换了整个配置,还发现我需要重建EC2环境。似乎当你尝试不同的事情,移动文件时,其中一些配置文件会粘住,并在你不想让它们移动时用于配置代理。