Laravel维护模式 - 允许ip不工作

问题描述 投票:1回答:1

我试图让我的公共互联网IP通过vra上的laravel维护模式。

--allow命令是否可以在Internet上运行,还是只在localhost上运行?因为我无法使用以下命令通过维护模式页面:

$ 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.
laravel artisan laravel-5.7 maintenance maintenance-mode
1个回答
2
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.