🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

Q&A

解決済

1回答

2231閲覧

【AWS Lightsail】SSLを設定する際のコモンネームの指定方法について

yuta1989

総合スコア65

SSL

SSL(Secure Sockets Layer)とは、暗号化されたプロトコルで、インターネット上での通信セキュリティを提供しています。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

VPS

VPS(バーチャル・プライベート・サーバ)は、仮想化されたサーバをレンタルするサービスで、共有サーバでありながら専門サーバと同等の機能を果たします。物理的な専門サーバより安価で提供できるメリットがあります。

0グッド

0クリップ

投稿2021/02/22 00:53

編集2021/02/22 04:18

下記のサイトを参考にAWS LightsailにSSLの設定をしましたが、以下のエラーがサイトに表示されます。

ーーーーー
Forbidden
You don't have permission to access this resource.
ーーーーー

原因を調べると
証明書のSAN(コモンネーム)とURLに入力したドメインが違うためでした。

下記参考サイトの「ステップ 3. Let Encrypt SSLワイルドカード証明書のリクエスト」のところで、
DOMAIN=sumachira.jp
コマンドを実行した後に
sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly
を実行して登録したドメインを指定しましたが、

https://sumachira.jp/にアクセスして、URLの左横にある「保護されていない通信」をクリック → 「証明書」をクリックしてコモンネームを確認したところ、
ip-172-26-9-204.ap-northeast-1.compute.internal
となっていました。

■参考サイト
https://lightsail.aws.amazon.com/ls/docs/ja_jp/articles/amazon-lightsail-using-lets-encrypt-certificates-with-lamp

前提条件のところですが、
LAMP インスタンスを作成して、取得したドメインでDNS レコード(Aレコード)を登録しております。

■/opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf

# Default SSL Virtual Host configuration. <IfModule !ssl_module> LoadModule ssl_module modules/mod_ssl.so </IfModule> Listen 443 SSLProtocol all -SSLv2 -SSLv3 SSLHonorCipherOrder on SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 EECDH !aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !EDH !RC4" SSLPassPhraseDialog builtin SSLSessionCache "shmcb:/opt/bitnami/apache/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 <VirtualHost _default_:443> DocumentRoot "/opt/bitnami/apache2/htdocs/smartphone-coupon/public" SSLEngine on SSLCertificateFile "/etc/letsencrypt/live/sumachira.jp/cert.pem" SSLCertificateKeyFile "/etc/letsencrypt/live/sumachira.jp/privkey.pem" SSLCertificateChainFile "/etc/letsencrypt/live/sumachira.jp/chain.pem" <Directory "/opt/bitnami/apache/htdocs"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> # Error Documents ErrorDocument 503 /503.html </VirtualHost>

■/opt/bitnami/apache2/conf/bitnami/bitnami.conf
(/opt/bitnami/apache/conf/bitnami/bitnami.confもあり、同じ内容です)

# Default Virtual Host configuration. # Let Apache know we're behind a SSL reverse proxy SetEnvIf X-Forwarded-Proto https HTTPS=on <VirtualHost _default_:80> DocumentRoot "/opt/bitnami/apache2/htdocs/smartphone-coupon/public" RewriteEngine On RewriteCond %{HTTPS} !=on RewriteRule ^/(.*) https://%{SERVER_NAME}/$1 [R,L] <Directory "/opt/bitnami/apache2/htdocs/smartphone-coupon/public"> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> # Error Documents ErrorDocument 503 /503.html </VirtualHost> Include "/opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf"

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

ですが、コマンドを実行する際、コモンネームを指定するところがありませんでした。

ステップ 3. Let Encrypt SSLワイルドカード証明書のリクエスト

環境変数に自己所有のドメインを登録した後、環境変数を参照する形で指定していますね。

投稿2021/02/22 01:25

tanat

総合スコア18727

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

yuta1989

2021/02/22 01:42 編集

ご回答ありがとうございます。 現在のコモンネームが指定したドメインと異なるのはなんででしょうか・・・? 現在のコモンネーム : ip-172-26-9-204.ap-northeast-1.compute.internal
tanat

2021/02/22 01:52 編集

yuta1989さんの仰る 「現在のコモンネーム」が「何の」コモンネームを指しているのか、どのようにそれを確認されているのかが分からないので回答が出来ません。 https://teratail.com/help/question-tips を参考にして、何をどう設定したのか、どう確認したのかを可能な限り詳細に質問に追記して頂けますか?
tanat

2021/02/22 02:15

現状の質問文だと、参考URLに記述のある前提条件を満たしているかもわからない状態なので。。。
yuta1989

2021/02/22 02:41

説明不足ですみません。。 前提条件のところですが、 LAMP インスタンスを作成して、取得したドメイン(sumachira.jp)でDNS レコード(Aレコード)を登録しております。 「ステップ 3. Let Encrypt SSLワイルドカード証明書のリクエスト」のところで、 DOMAIN=sumachira.jp コマンドを実行した後に sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly を実行して登録したドメインを指定しましたが、 https://sumachira.jp/にアクセスして、URLの左横にある「保護されていない通信」をクリック → 「証明書」をクリックしてコモンネームを確認したところ、 ip-172-26-9-204.ap-northeast-1.compute.internal となっていました。
tanat

2021/02/22 02:47

*質問は編集できるので、追記して頂ければと思います。他の回答者の助けになって、よりよい回答がつく可能性がありますし、後から質問を見た人にとっても分かりやすい質問になります。 DOMAIN=sumachira.jp の後に echo $DOMAIN && echo $WILDCARD で確認するフェーズがありますが、確認された結果はどうでしたか?(&今確認するとどうなりますか?) おそらく、環境変数の更新が出来ておらず、デフォルトで指定されていたものを指定してしまったのかなと思われます。 なので、この部分を確認してから再発行するか、 sudo certbot -d $DOMAIN -d $WILDCARD --manual --preferred-challenges dns certonly の $DOMAINと$WILDCARDに直接ドメインとFQDN(コモンネーム)を指定すれば、その証明書が発行されます。
yuta1989

2021/02/22 03:00

ご回答ありがとうございます。 すみません、質問の方も修正しておきます。 echo $DOMAIN && echo $WILDCARD 設定をしたときにこのコマンドを実行したら、 sumachira.jp *.sumachira.jp と表示されたのですが、今同じようにコマンドを実行したら 何も表示がされませんでした(2行の空白が出力されました)。
tanat

2021/02/22 03:07

うーん、であればなぜそうなったのかは分からないのですが sudo certbot -d sumachira.jp -d *.sumachira.jp --manual --preferred-challenges dns certonly として、証明書を作り直してしまうのが早そうに思います
tanat

2021/02/22 03:11

現在設定されている証明書が、Let'sencryptのものでは無いので、 過去に自己証明書を作って、それを設定したままになっているとかそういうことはありませんか? webサーバで指定している証明書が、今回作成したものであるか、作成したものであれば設定後にwebサーバの再起動を行っているか あたりも確認してみて下さい
yuta1989

2021/02/22 03:14 編集

ありがとうございます、確認してみます!
tanat

2021/02/22 03:13

あと、Forbiddenになっている理由は証明書とは別の問題なので、それはそれで解決する必要があります。 おそらく、443のドキュメントルートの設定が80と異なっていて、そこのパーミッションが正しく設定されていないとかそういう感じだと思います。
tanat

2021/02/22 03:14

> $DOMAINと$WILDCARDに直接ドメインとFQDN(コモンネーム)を指定して再発行しようと思うのですが、下記のコマンドで合っていますでしょうか・・・? あっていると思いますが、とりあえずやってみて間違っていても悪影響は無いので、トライしてみて下さい > また、上のコマンドを実行する前に/etc/letsencrypt/live/sumachira.jp/にある証明書などを削除しないといけないでしょうか? 削除するか、別のところにバックアップを取っておく方が無難ですね。 これも失敗しても問題無いところなので、試してみて下さい。
tanat

2021/02/22 03:17

Apacheの設定ファイルを編集するときは、バックアップを取ってから作業されることをお勧めします。
yuta1989

2021/02/22 04:27

教えていただきありがとうございます。 Webサーバーの再起動は sudo systemctl restart apache2.service このコマンドで行っておりました。 すみません、いろいろお聞きしたいことがあるのですが、 /etc/letsencrypt/live/sumachira.jp/ のディレクトリにある 証明書の更新日時がコマンドを実行した日になっていることを確認していて、 その証明書パス(/etc/letsencrypt/live/sumachira.jp/cert.pem )を /opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf で指定しています。 違う証明書を読み込んでいるみたいですが、 ApacheとSSLの設定ファイルがいろいろあって どれが適用されているのかがわかっていないです。。 全文を質問文に /opt/bitnami/apache/conf/bitnami/bitnami-ssl.conf と、 /opt/bitnami/apache2/conf/bitnami/bitnami.conf を追記いたしましたので 一度見ていただけませんでしょうか。
tanat

2021/02/22 04:44

提示されている範囲のconfは正しいように見えますね。 ドメインをお持ちなので、新たにLightSailを立ち上げて検証をするのが早いかもしれません。 短時間なら費用もほとんど掛かりませんし。
tanat

2021/02/22 04:48

あとは、、(可能性としては高くないですが)実はAレコードが誤っていてこのサーバにたどり着いていないとか? Apacheのアクセスログには403のログは残っていますか?
tanat

2021/02/22 05:38

confを探す方法としては、 sudo grep -r SSLCertificateFile /etc/httpd 等で探せるかと思います。 今の証明書の発行日が1/20なので、日付で検索しても良いかもしれません。 https://qiita.com/dkwnm/items/81cdd716b2ac6d0d73aa
yuta1989

2021/02/26 06:20

返信が遅くなって申し訳ありません。 サイトの方ですが、SSL化することができました。 apacheがデフォルトのapache2とBitnamiのapacheの2つ入っており、apache2を停止してもう一つのapacheを起動したらSSL化できていました。 いろいろ教えていただきありがとうございました。
tanat

2021/02/26 07:50

解決してよかったです。 フィードバックありがとうございます。 そういう事情だったのですね
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問