首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >弹性豆柄上的.ebextensions

弹性豆柄上的.ebextensions
EN

Stack Overflow用户
提问于 2015-01-23 12:48:48
回答 2查看 2.7K关注 0票数 8

我正在尝试在弹性beanstalk Docker实例上配置nginx,以允许使用websockets。使用找到的信息,我将.ebextensions/01files.config添加到我正在部署的压缩包中。

压缩包包含.ebextensions/01_files.config、Dockerfile和我的应用程序的tgz。

01_files.config的内容如下:

代码语言:javascript
复制
files:
    "/etc/nginx/conf.d/websocketupgrade.conf" :
        mode: "000755"
        owner: root
        group: root
        content: |
            proxy_set_header        Upgrade         $http_upgrade;
            proxy_set_header        Connection      "upgrade";

弹性豆茎似乎忽略了我的.ebextensions。文件/etc/nginx/conf.d/websocketupgrade.conf永远不会写入。

在弹性豆茎上使用.ebextensions容器的正确方法是什么?

EN

回答 2

Stack Overflow用户

发布于 2017-12-13 20:39:21

我非常确定ElasticBeanstalk会覆盖/etc/nginx/conf.d/作为设置应用程序的一部分,所以在应用程序启动时,您放入ebextension的任何内容都会消失。

要解决此问题,您需要对登台区域进行更改,而不是对最终目的地进行更改。我不确定弹性but nginx部署的中转区是什么,但如果您查看

代码语言:javascript
复制
/var/log/eb-activity.log

你应该能够弄清楚这一点。

您应该使用:

代码语言:javascript
复制
container_command:

指令对临时区域进行更改。

票数 0
EN

Stack Overflow用户

发布于 2015-01-23 22:47:04

Elastic Beanstalk现在支持docker,减少了黑客攻击,你应该使用Dockerfile and Dockerrun.aws.json

只需在offical nginx镜像的基础上创建一个新的容器,并添加您在上面发布的conf文件。然后使用dockerrun文件拉入您的nginx镜像(参见下面的示例)。

代码语言:javascript
复制
{
  "AWSEBDockerrunVersion": "1",
  "Authentication": {
    "Bucket": "my-bucket",
    "Key": "mydockercfg"
  },
  "Image": {
    "Name": "me/my-nginx-image",
    "Update": "true"
  },
  "Ports": [
    {
      "ContainerPort": "80"
    }
  ],
  "Volumes": [
    {
      "HostDirectory": "/var/",
      "ContainerDirectory": "/etc/mysql"
    }
  ],
  "Logging": "/var/log/nginx"
}
票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28103212

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档