LoginSignup
0
0

【AWS】LaravelアプリのTLSをALBにオフロードする

Last updated at Posted at 2024-06-02

環境

# EC2 OS
$ cat /etc/system-release
Amazon Linux release 2023.4.20240429 (Amazon Linux)

# Laravel
$ php artisan --version
Laravel Framework 11.4.0

手順

 ALB の TLS 化には SSL/TLS 証明書が必要なので、Route53 でドメインを取得し、Cirtificate Manager で証明書をリクエストする。
 次にポート 443 のリスナーで ALB を作成する。
 最後に Laravel の環境変数、コードに修正を加える。

1. ドメインを取得する

Route53 で取得

image.png

2. SSL/TLS 証明書をリクエストする

リクエスト後の証明書

1.png

3. ALB を作成する

リスナールール

image.png

ターゲットグループ

image.png

4. DNS レコードを作成する

A レコードで ALB を指定

image.png

5. .env を編集する

ASSET_URL=[https://レコード名] を追記

.env
- APP_URL=http://57.180.9.245/ # EC2 の IP アドレス
+ # APP_URL=http://57.180.9.245/ # EC2 の IP アドレス
+ ASSET_URL=https://test.learnersaws.com/

6. コードを編集する

Chrome で以下のメッセージが表示された。

image.png

以下を記載して解消

AppServiceProvider.php
<?php

namespace App\Providers;

+ use Illuminate\Support\Facades\URL;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Register any application services.
     */
    public function register(): void
    {
        //
    }

    /**
     * Bootstrap any application services.
     */
    public function boot(): void
    {
-        //
+        URL::forceScheme('https');
    }
}

参考

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0