グローバルIPを持っていないサーバで、ホスト名を書き換えてリバースプロキシを行っています。
ユーザ登録確認のメールを送信する際、Verify Email Addressのリンク先のURLのホスト名が
プロキシ名となってアクセスできません。
app/Privider/AppServiceProvider.phpで
Illuminate\Support\Facades\URL::forceRootUrl(\config('app.url'));
とすると、LoginやRegisterのリンクからpublicが外れてしまいます。
また、bootstrapが効かなくなります。
署名付きで有効期限のあるURL($actionUrl)を生成するとき
元のホスト名を使うようにするには、どのように設定すればいいのでしょうか。
APP_URL環境変数は設定されているのですよね?
「有効期限のあるURL」ということは、公開するURLが変わるのでAPP_URL環境変数に固定値を設定するのは難しい、ということでしょうか。
APP_URLは設定しています。APP_URLを強制的に指定すると、ルーティングがうまくいかなくなりbootstrapも動作しなくなります。
https://qiita.com/niiyz/items/f0b63e7afeb540a8b4b1
この方はAPP_URLを強制ルートとすることでうまくいったようですが、
私の環境ではだめでした。
APP_URLは設定されているのですね。
URL::forceRootUrlを使うのではなく、App\Http\Middleware\TrustProxiesの$proxiesにプロキシを追加するとどうでしょうか。
https://readouble.com/laravel/5.7/ja/requests.html#configuring-trusted-proxies
プロキシを設定したらうまくいきました!ありがとうございました。
よかったです^ ^
回答1件
あなたの回答
tips
プレビュー