Laravel维护模式-允许IP不起作用

时间:2019-02-19 10:05:36

标签: laravel artisan laravel-5.7 maintenance maintenance-mode

我正在尝试通过vps上的laravel中的维护模式允许我的公共Internet IP。

--allow命令是否可以通过Internet运行,还是仅在本地主机上运行? 因为我无法通过以下命令通过维护模式页面:

$ 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.

1 个答案:

答案 0 :(得分:1)

您可以验证您的应用程序可以看到的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