You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu下Laravel局域网开发:解决SSL请求错误与资源加载异常问题

Ubuntu下Laravel局域网开发:解决SSL请求错误与资源加载异常问题

兄弟,我之前在Ubuntu上搞Laravel局域网开发的时候也碰到过一模一样的问题,给你分享几个亲测有效的解决办法:

先说说问题根源

这个Invalid request (Unsupported SSL request)错误,本质是你的应用里有请求被强制要求用HTTPS,但php artisan serve默认启动的是HTTP服务,根本没开启SSL支持,所以系统识别不了这些请求就报错了。而资源加载异常,大概率是你配置里的应用地址不对,导致资源路径指向了本地或者HTTPS地址,局域网其他设备访问不到。

具体解决步骤

1. 修正.env里的APP_URL配置

这是最常见的解决办法,先打开项目根目录下的.env文件,把APP_URL改成你的局域网IP+端口(php artisan serve默认端口是8000,如果你改了端口要对应上):

APP_URL=http://192.168.1.88:8000

改完之后一定要清除配置缓存,不然Laravel还是会用旧的配置:

php artisan config:clear

2. 关闭强制HTTPS的配置

如果你之前为了生产环境开启了强制HTTPS,现在开发环境要关掉:
打开app/Providers/AppServiceProvider.php,检查boot方法里有没有类似下面的代码:

URL::forceScheme('https');

有的话直接注释掉,或者改成http:

// URL::forceScheme('https');
// 或者改成
URL::forceScheme('http');

同样执行清缓存命令生效:

php artisan config:clear

3. 如果你确实需要局域网用HTTPS

如果你的项目某些功能必须依赖HTTPS,可以给php artisan serve加上SSL支持:
首先在Ubuntu上用openssl生成本地SSL证书:

openssl req -x509 -newkey rsa:4096 -keyout server.key -out server.crt -days 365 -nodes

生成的server.key和server.crt放在项目根目录就行,然后用下面的命令启动服务:

php artisan serve --host=192.168.1.88 --ssl --ssl-key=server.key --ssl-cert=server.crt

这时候访问要改用https://192.168.1.88:8000,浏览器会提示证书不安全,手动添加信任就可以了。

4. 检查资源引用方式

确保你的CSS、JS、图片都是用Laravel的辅助函数加载的,比如:

  • 用asset('css/app.css')代替硬写的/css/app.css或者https://localhost/css/app.css
  • 用mix('js/app.js')加载编译后的资源
    如果用了Laravel Mix,记得重新编译资源:
npm run dev

最后说两句

我当时就是改了APP_URL和注释掉强制HTTPS的代码,问题就解决了。如果还是不行,你可以检查一下浏览器控制台的网络请求,看看资源加载的路径是不是正确的,或者有没有其他强制跳转HTTPS的配置。

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 13:58:04