有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java如何配置Elastic beanstalk classic负载平衡器以使用CLI终止HTTPS

我使用Elastic Beanstalk CLI将Spring引导应用程序部署到EB。 只要我不配置HTTPS,它就可以正常工作

根据userdocs,我需要做的就是创建一个。我的数据库中的配置文件。包含以下内容的eExtensions文件夹

option_settings:
    aws:elb:listener:443:
        SSLCertificateId: <arn for cert>
        ListenerProtocol: HTTPS
        InstancePort: 5000
        InstanceProtocol: HTTP
    aws:elb:listener:80:
        ListenerEnabled: false

但是,如果使用该配置创建环境,则由于无法与ELB通信,健康检查将失败。查看AWS控制台中的环境,HTTP和HTTPS侦听器端口都已禁用,SSL证书与负载平衡器不关联

考虑到行为的变化,我认为可以肯定地说。正在拾取并应用配置文件,即使配置不正确

如果在此阶段手动尝试通过EB web GUI启用HTTPS侦听器,则会出现以下错误

LoadBalancerHTTPSPort: You have specified both the @deprecated(:default.aws:elb:loadbalancer:LoadBalancerHTTPSPort) option as well as one in the new aws:elb:listener:443 namespace. The :default.aws:elb:loadbalancer:LoadBalancerHTTPSPort option will be ignored.

所以我甚至不能手动启用它,即使我想

这里有大量关于上传自定义nginx conf文件的问题/答案。我相信这些都已经过时了,不适用了,但是如果有人能给我指出一些在当前电子商务状态下有效的东西,我很乐意接受

以下部分参考信息

我正在使用ACM托管我的(自签名)证书。出于我的目的,自签名证书在我测试时是可以的。我不知道这是否让负载平衡器感到困惑,尽管文档确实提到使用自签名证书。我稍后会转到正确的证书

我的。elasticbeanstalk/config。亚姆看起来像这样

branch-defaults:
  default:
    environment: <name>
deploy:
  artifact: target/<jar name>.jar
global:
  application_name: <App name>
  branch: null
  default_ec2_keyname: <key name>
  default_platform: Java 8
  default_region: eu-west-1
  include_git_submodules: true
  instance_profile: null
  platform_name: null
  platform_version: null
  profile: eb-cli
  repository: null
  sc: null
  workspace_type: Application

我运行以创建环境的命令行是

eb create <name> -c <name> --elb-type classic

EB CLI版本信息

eb --version
EB CLI 3.10.5 (Python 2.7.1)

共 (1) 个答案

  1. # 1 楼答案

    两种可能的解决办法:

    1.)

    您是否已将服务器证书上载到ACM?不清楚您是使用ACM创建的,还是需要上传到ACM的第三方创建的。 http://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html

    (二)

    检查Elastic Beanstalk中配置的优先顺序

    。ebextensions的优先级较低,因此这些选项值可以被优先级较高的选项设置覆盖

    解决方案是在控制台GUI中更新您的证书。导航到GUIhttps://aws.amazon.com/ 转到您的弹性豆茎gui->;单击您的环境->;单击左侧栏上的配置->;单击“负载平衡”旁边的齿轮图标

    现在您将看到ELB选项设置的列表。从下拉菜单中选择您的证书:“SSL证书ID”并保存