【Laravel】ValetでローカルのhttpsテストをGCPリダイレクトに設定する
こんにちは、フリーランスエンジニアの太田雅昭です。
Valet
Valetは、Macで使える、テスト環境を簡単に構築できるツールです。Laravelのみでなく、WordPressでも使えるようです。
https://laravel.com/docs/11.x/valet
使ってみる
インストール
まずbrewをアップデートしておきます。
brew update
composerでグローバルインストール
composer global require laravel/valet
続いてvaletのインストールコマンドを実行。ここでbrewが使われます。nginxやphpなど諸々がインストールされます。
valet install
phpはasdfで管理していたので、ここで新たにbrewでインストールされるのはちょっと残念でした。一応、valetはbrewのphpを使うそうです(GPT談)。ですので、まぁいいやの精神です。
ディレクトリを設定
有効にしたいディレクトリに移動し、下記のコマンドを打ちます。
valet link xxx
すると、http://xxx.testでアクセスできるようになります。
httpsに対応するには、以下のようにします。
valet secure
これで、https対応です。すんばらしい。
GCPのOAuthリダイレクトに使う
.testドメインは、GCPのリダイレクトに指定できません。GCPでは、トップレベルドメイン(TLD)を使う必要があります。一応localhostだけ使えるのですが、そうするとプロジェクトの区別にはポート番号しかありません。それはそれで面倒なので、工夫します。
valetはドメインを指定できます。ドメインの衝突を避けるため、できるだけマイナーなTLDを使用します。wtfやxyzなどがありますが、覚えやすいので今回はxyzを使用します。
またドメイン全体を、できるだけ被らないようにします。今回は、日付 + プロジェクト名 + xyzで攻めます。プロジェクト名をmy-catとし、URLをhttps://20250204.my-cat.xyzとします。
まずリンクします。
valet link 20250204.my-cat
ドメインをxyzにします。なおTDLを使用すると、他のサイト閲覧に影響が出るので注意してください。
valet domain xyz
警告が出るので、yで進みます。その後、https化します。
valet secure
これで、GCPのリダイレクトでも使用できるURLができました。
Viteの開発でエラーになる
viteのbuild後は大丈夫ですが、開発時にエラーになります。この解決を下記で書きました。