環境
- Azure
- Laravel 8
Azure App Service の TLS/SSL の設定 を開くと、 「App Service マネージド証明書の作成」 が用意されているのを今さら気づいた。今のところ無料のサービスということで設定してみる。
プレビュー版ではあるけど、 Azure App Service で TLS/SSL 証明書を追加する の 無料のマネージド証明書を作成する (プレビュー) に記載されている手順通りにやれば発行完了した。
(注意書きの 無料の証明書は DigiCert によって発行されます。
の記載を考えれば信頼できるSSL証明書だし、もし正式リリースされたら App Service 証明書 を購入する人がいなくなるのではと思ったり。)
App Service に独自ドメインを設定する場合、 App Service プラン は「カスタム ドメイン / SSL」が使えるプランを選ぶ必要がある(価格レベルの確認 を参照)。 ドメインはドメイン提供会社から購入するか、 Azureでドメインを購入する に書いた通り、Azureで購入しておく。 SSLのバインディングが完了後は「TLS/SSL の設定」 - 「HTTPS のみ」をオンにした。
設定完了後に対象 App Service のURLを開き、SSL対応を確認。
おまけ
今回の App Service は Laravel 8 で構築していて、トップページ以外もhttpsにするには Illuminate\Support\Facades\URL::forceScheme()
を呼び出す。 AppServiceProvider.boot()
に記載している人が多いので、それに合わせた。
(ベストな場所を教えてください。)
<?php namespace App\Providers; use Illuminate\Support\Facades\URL; // 追加 use Illuminate\Support\ServiceProvider; class AppServiceProvider extends ServiceProvider { /** * Register any application services. * * @return void */ public function register() { // } /** * Bootstrap any application services. * * @return void */ public function boot() { // 追加。本番環境なら「https」に変更するする。 if (env('APP_ENV') == 'production') { URL::forceScheme('https'); } } }