Laravel 维护模式 --allow ip 不工作

Laravel maintenance mode --allow ip not working

我试图在 vps 上通过 laravel 中的维护模式允许我的 public 互联网 IP。

--allow 命令是在互联网上工作还是只在本地主机上工作? 因为我无法使用以下命令通过维护模式页面:

$ php artisan down --allow=xx.xx.xx.xx (my public internet ip)
Application is now in maintenance mode.
$ php artisan up
Application is now live.

您可以验证您的应用程序看到的 IP 地址并允许它:

Route::get('/what-is-my-ip', function(){ 
    return request()->ip();
});

但请注意,如果您使用的是内容分发网络服务,例如 cloudflare,您将看到该服务的 IP 而不是用户。这意味着,每个人都将拥有相同的 IP。

例如Cloudflare,您可以通过在 public/index.php

中重新设置正确的用户 IP 使其正常工作
<?php

if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
    $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
}

带有更多解释的来源:https://laracasts.com/discuss/channels/laravel/cloudflare-and-user-ip