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
我试图在 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
<?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