如何在 Node.js Elastic Beanstalk 上自定义 nginx 配置
Posted
技术标签:
【中文标题】如何在 Node.js Elastic Beanstalk 上自定义 nginx 配置【英文标题】:How to customize nginx config on Node.js Elastic Beanstalk 【发布时间】:2019-01-16 21:12:25 【问题描述】:我是 AWS EBS 的新手。我正在尝试修改 etc/nginx/nginx.conf。我只是想在http underscores_in_headers on;
中添加一行,我可以通过使用putty 访问具有IP 的实例来进行更改。但问题是,当 Auto Scaling 使用新 IP 扩展环境时,http underscores_in_headers on;
行将从新实例中删除。
所以,我希望服务器部署新快照/实例时必须与主服务器相似,或者您可以说具有相同的配置。
I tried to solve my issue with this link
【问题讨论】:
你已经看过了吗? docs.aws.amazon.com/elasticbeanstalk/latest/dg/… 是的,我看过这个,但我无法理解。我该怎么做。 我知道我需要在 .ebextensions 中添加配置文件,但无法添加到该文件中。 你可以在这里查看 nginx 指令:nginx.org/en/docs/http/…。您应该能够将 underscores_in_headers 选项添加到示例中的服务器指令,或者只是创建一个*** http 指令。 更新 EBS 时出现错误 应用程序版本 app-2244-180809_185240 中配置文件 .ebextensions/nginx/nginx.config 中的***元素必须是地图。更新配置文件中的***元素。 2018-08-09 13:22:54 错误无法部署应用程序。 【参考方案1】:第 1 步 要在 nginx 的 AWS ElasticBean 中编辑配置,您需要在 .ebextensions 中添加配置文件
向此添加文件夹 .ebextensions/nginx/ 创建 proxy.config 文件
files:
/etc/nginx/conf.d/proxy.conf:
mode: "000644"
owner: root
group: root
content: |
underscores_in_headers on;
它将开始接受带有下划线的标题。
第 2 步
如果它不接受带有下划线的标头,则使用 ssh 访问您的实例并运行以下命令。
sudo service nginx reload
希望对你有帮助。
【讨论】:
【参考方案2】:stack 不让我发表评论,因为我是个菜鸟。 Prateek 真的帮了大忙,只需对他的 proxy.config 文件解决方案进行一点小修改,它就可以工作了!不要忘记缩进 /etc/nginx/conf.d/proxy.conf: !更多信息在这里:https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/nodejs-platform-proxy.html
files:
/etc/nginx/conf.d/proxy.conf:
mode: "000644"
owner: root
group: root
content: |
underscores_in_headers on;
【讨论】:
以上是关于如何在 Node.js Elastic Beanstalk 上自定义 nginx 配置的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 Amazon Elastic Beanstalk 在端口 80 上安全地运行 Node.js 服务器?
elastic beanstalk如何运行node js应用代码?
如何将 node.js 应用程序部署到 AWS Elastic Beanstalk
如何使 ELB 将协议传递给 node.js 进程(Elastic Beanstalk)
如何从部署在 AWS Elastic beanstalk 上的 node.js express 应用程序获取客户端 IP?