2017-08-16 52 views
0

我用彈性魔豆CLI部署我的春節,啓動應用程序,以EB終止HTTPS。 只要我沒有配置HTTPS,它就可以正常工作。如何配置彈性魔豆經典的負載平衡器使用CLI

按照userdocs所有我需要做的是建立一個config文件在我.ebextensions有以下內容的文件夾

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證書未與負載均衡器關聯。

考慮到行爲的變化,我認爲可以安全地說.config文件正在被拾取和應用,即使配置有些不正確。

如果我嘗試手動啓用通過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. 

所以我甚至不能手動啓用它,即使我想。

有一個binch問題/答案在這裏,談論上傳自定義nginx的conf文件。我認爲那些現在已經過時並且不適用,但是如果有人能夠指出我在EB目前的狀態下能夠發揮作用,我很樂意繼續這樣做。

一些信息,下面

我使用的是ACM主辦我的(自簽名)證書的參考。對於我的目的,自我簽署的證書是可以的,而我測試這個。我不知道這是否會讓負載均衡器混淆,儘管文檔中提到使用自簽名證書。我將在稍後轉入正確的證書。

我.elasticbeanstalk/config.yaml看起來像這樣

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) 

回答

0

兩個可能的命令行解決方案:

1)

您是否上傳了服務器證書ACM?目前還不清楚您是使用ACM還是需要上傳到ACM的第三方創建的。 http://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html

2.)

檢查優先對Elastic豆莖CONFIGS的順序。

.ebextensions優先級低,因此這些選項值可以被更高優先級選項設置覆蓋。

解決方案將是在控制檯GUI中更新您的證書。導航到GUI https://aws.amazon.com/ 轉到您的彈性beanstalk gui - >單擊您的環境 - >單擊左側欄上的配置 - >單擊「負載平衡」旁邊的齒輪圖標。

現在您會看到ELB選項設置的列表。從下拉菜單中選擇您的證書:「SSL證書ID」並保存。

+0

http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/command-options.html#configuration-options-precedence –

+0

這不會提供問題的答案。一旦你有足夠的[聲譽](https://stackoverflow.com/help/whats-reputation),你將可以[對任何帖子發表評論](https://stackoverflow.com/help/privileges/comment);相反,[提供不需要提問者澄清的答案](https://meta.stackexchange.com/questions/214173/why-do-i-need-50-reputation-to-comment-what-c​​an- I-DO-代替)。 - [來自評論](/ review/low-quality-posts/17147557) –

相關問題