账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    亚马逊 AWS ElasticBeanstalk 和 Nginx 反向代理请求 503 错误
    58
    0

    最近我的亚马逊 AWS Elastic Beanstalk 环境总是出现 503 错误。

    上面部署的是一个 Nginx 反向代理,用来指向其他 ELB 的环境。这个代理是完全 Docker 化过的,只暴露 80 端口 (没有 HTTPS 支持)。

    ELB 环境使用亚马逊默认设置,没有更改过:Web Server 类,负载均衡,自动扩展,并且只支持 80 端口 (HTTP)。

    然后我的域名通过 CloudFlare CNAME 到 ELB 的域名,并且使用 CloudFlare 的 Flexible HTTPS。

    所以基本请求流程应该是这样的:
    用户请求 -> CloudFlare CDN 解密 HTTPS 并通过 HTTP 请求 -> 亚马逊 ELB 负载均衡 -> Nginx 反向代理 -> 服务 ELB 环境负载均衡 -> 程序服务器

    但是这个时候如果通过 HTTPS 访问,总是会给我 503,没有任何错误信息。这就很尴尬了啊,我看了反向代理的
    Log,基本如下:

    172.31.43.168 - - [09/Dec/2017:17:46:30 +0000] "\x16\x03\x01\x00\x8F\x01\x00\x00\x8B\x03\x03qkJ\xC8u\xC1\xB48\xF2\xABA\x95\xC6!\xB3\xC7\xB8,\x92\xF6@\x10s\xEE\x9C\xED\xAB-\xA0\x9F\x9EL\x00\x00:\x00\x9D\x00=\x005\x00\x84\x00\x9C\x00<\x00/\x00A\x00\x05\x00" 400 173 "-" "-"

    不难看出 HTTPS 没有解密,但是为什么会这样呢?

    更尴尬的是如果我将反向代理 ELB 调成单服务器,没有负载均衡,就不会有这个问题了,通过 HTTPS 访问也一切正常。

    很奇怪的问题,求大神解答,毕竟最终还是想要用负载均衡。


    一些 log 和设置:

    Dockerrun.aws.json

    {
      "AWSEBDockerrunVersion": "1",
      "Image": {
        "Name": "{{亚马逊 ECR 保管库}}",
        "Update": "true"
      },
      "Ports": [
        {
          "ContainerPort": "80"
        }
      ],
      "Logging": "/var/log/nginx"
    }

    负载均衡时的 Nginx Log:

    172.31.43.168 - - [09/Dec/2017:17:46:30 +0000] "\x16\x03\x01\x00\x8F\x01\x00\x00\x8B\x03\x03qkJ\xC8u\xC1\xB48\xF2\xABA\x95\xC6!\xB3\xC7\xB8,\x92\xF6@\x10s\xEE\x9C\xED\xAB-\xA0\x9F\x9EL\x00\x00:\x00\x9D\x00=\x005\x00\x84\x00\x9C\x00<\x00/\x00A\x00\x05\x00" 400 173 "-" "-"

    单服务器时的 Log:

    141.101.107.147 - - [09/Dec/2017:19:10:57 +0000] "GET /docs/vendor/lodash.custom.min.js?v=1512846657862 HTTP/1.1" 200 19579 "https://api.wolfbeacon.com/docs/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36"
    162.158.155.17 - - [09/Dec/2017:19:10:57 +0000] "GET /docs/vendor/path-to-regexp/index.js?v=1512846657862 HTTP/1.1" 200 5147 "https://api.wolfbeacon.com/docs/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/62.0.3202.62 Safari/537.36"
    等等.....
    0
    打赏
    收藏
    点击回答
        全部回答
    • 0
    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部