Node.js “重复位置”/&引用;Nginx错误后端和前端
我在端口5000上运行Express服务器,在8080上运行React应用程序 我的想法是基于位置(uri)直接通信,但在AWS Beanstalk ngnix配置中的这一部分插入导致了重复的位置“/”错误: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
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环境。似乎当你尝试不同的事情,移动文件时,其中一些配置文件会粘住,并在你不想让它们移动时用于配置代理。