AWSをいじりだしたのがつい最近で
しかもElasticBeanstalkが初EC2だったので、
EC2やらElasticIPやらElasticLoadBalancerやらで相当ハマった。
AWS Developer Forum にも書いたんだけど
「Elastic Beanstalkを利用した独自ドメインでのHTTPS通信について」
を保管しておく。
そもそもhttps通信をしないのであれば
DNSのAレコードにElasticIPを指定すればいい。
そうすると
◯ http://myappname.elasticbeanstalk.com/
◯ https://myappname.elasticbeanstalk.com/
◯ http://www.mydomain.com/
X https://www.mydomain.com/
と、
https://www.mydomain.com/
の場合のみサーバーで拒否される。
LoadBalancerのなんやかんやで。
当時はここから頑張って
SSHで接続し、
サーバー内のapache設定ファイルをいじってました。
※ /etc/httpd/conf/httpd.conf or /etc/httpd/sites/elasticbeanstalk
httpd.confの
Listen 80
の下に
Listen 443
を追加して、https://www.mydomain.com/ に接続すると
サーバーにログが残るようになる。
画面にもよくあるエラーメッセージが出るようになる。max lengthがなんちゃらっていうアレ。
と、まーこんな感じでapacheの設定をいじっても結局は意味なかった。
正解は
DNSの設定で
CNAMEレコードに myappname.elasticbeanstalk.com を追加する。これ。
※フォーラムの方ではLoad BalancerのDNSを指定すると書きましたが、
後にmyappname.elasticbeanstalk.comの方が推奨されていることを教えていただきました。
ここで注意することは、
AレコードにElasticIPを指定したままの場合はこいつを削除するということ。
まーLoadBalancerのアレな関係で。
とりあえずこれでいけました。@2011/08
ドキュメントにはピンポイントにかかれておらず
把握するには英文を読んで仕組みを完全に把握しなくてはいけません。
かといって、
Elastic Beanstalk関連の国内のブログは
どれもセットアップして終了している感じなので
今後誰かの役に立つようここに書き留めておきます。
ElasticBeanstalkのSSL証明書の詳細なアップロード方法については、
また後日かきます。
なにか質問などある場合は @ki6ool までリプライください。