まぁ、当たり前なんですけどね。ダメ元チャレンジしたけどだめだった。
テスト環境
こちらよりAMIを起動、letsencryptによるSSL証明書の取得が簡単設定出来ます。
自分のサーバーで入れたいって人は別で頑張って。
SSL証明書の発行
基本的には以下に従う流れで発行してみる。
高速WordPressAMIでLet’s Encryptを使用して無料でSSL証明書を発行する
[root@ip-172-xxx-xxx-xxx ~]# cat /opt/dehydrated/domains.txt ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com
こちらには、インスタンスに最初から紐づけられているDNSを指定。
インスタンスの情報からパブリック DNS (IPv4)を見てみると、「〜〜.compute.amazonaws.com」みたいなのがあるはず。
このDNSはアマゾンさんがデフォルトで関連付けてくれているもの。DNS取得済みならばletsencryptで無料のSSL証明書発行できるはず!!
[root@ip-172-xxx-xxx-xxx ~]# /opt/dehydrated/dehydrated --register --accept-terms # INFO: Using main config file /opt/dehydrated/config + Generating account key... + Registering account key with ACME server... + Done!
まぁ、ここまではOK.次に発行。
[root@ip-172-xxx-xxx-xxx ~]# /opt/dehydrated/dehydrated -c --accept-terms # INFO: Using main config file /opt/dehydrated/config + Creating chain cache directory /opt/dehydrated/chains Processing ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com + Creating new directory /opt/dehydrated/certs/ec2-xxx-xxx-xxx-xxx.ap-northeast-1.compute.amazonaws.com ... + Signing domains... + Generating private key... + Generating signing request... + Requesting new certificate order from CA... + ERROR: An error occurred while sending post-request to https://acme-v02.api.letsencrypt.org/acme/new-order (Status 400)
ですよねーエラーで返ってきたのはこんな感じ。
{ "type": "urn:ietf:params:acme:error:rejectedIdentifier", "detail": "Error creating new order :: Policy forbids issuing for name", "status": 400 }
Policy forbids issuing for name on Amazon EC2 domain
こことかでも言われてますが、まぁ、そりゃあお前一時的にしか使わないし変わるかもしれないDNSで証明書くれてやるかよっちゅーことですわ。
もちろんroute53とかでドメイン取ったらちゃんといけますけどね。デフォルトのこのDNSはアクセステストくらいの使いみちにしておきましょう。