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

Laravel部署至EC2后CSS文件加载超时问题求助

Laravel Blade迁移EC2后CSS加载超时问题排查

问题背景

  • 浏览器加载CSS时报错:Failed to load resource: net::ERROR_CONNECTION_TIMED_OUT
  • 原Cloud9环境正常,迁移至EC2后出现问题
  • CSS路径看似正确:https://(IP地址)/css/OO.css
  • 相关配置:
    1. Blade引用:<link rel="stylesheet" href="{{ asset('css/OO.css', true) }}">
    2. 文件位置:public/css/〇〇.css
    3. 已执行权限命令:
      sudo chmod -R 777 ./storage
      sudo chmod -R 777 ./bootstrap/cache
      sudo chmod -R 777 ./public/css
      
    4. .env配置:ASSET_URL=https://(IP address)/public

排查方案

1. 检查EC2安全组端口开放

  • 确认安全组允许**HTTPS(443端口)**的入站流量,超时错误大概率是端口未开放导致外部无法连接。
  • 同时确保出站流量无限制,避免服务器无法响应请求。

2. 修正Web服务器根目录与ASSET_URL配置

  • 如果使用Nginx/Apache,需将Web服务器根目录指向Laravel项目的public文件夹。例如Nginx配置:
    root /var/www/your-project/public;
    
  • 当前ASSET_URL配置错误:因为Web服务器根目录已指向public,ASSET_URL只需设置为https://(IP address)即可,无需加/public。修改后执行:
    php artisan config:clear
    
    清除配置缓存,确保新配置生效。

3. 本地测试CSS文件可访问性

  • 在EC2服务器上执行curl命令直接请求CSS文件,验证服务是否正常:
    curl -v https://(IP address)/css/OO.css
    
    • 如果本地请求也超时:说明服务器HTTPS服务配置有问题(如未部署SSL证书、Web服务未启动)。
    • 如果本地能正常返回文件内容:问题出在外部网络连接(如安全组、防火墙)。

4. 检查系统防火墙设置

  • 查看EC2系统防火墙(如ufw或firewalld)是否开放443端口:
    • 对于ufw:
      sudo ufw status
      
      确认存在443/tcp ALLOW规则。
    • 对于firewalld:
      sudo firewall-cmd --list-ports
      
      确认443/tcp在开放端口列表中。

5. 修正文件权限(更安全的配置)

  • 777权限存在安全风险,建议将public/css的所有者改为Web服务器用户(如Nginx的www-data,Apache的apache):
    sudo chown -R www-data:www-data ./public/css
    sudo chmod -R 755 ./public/css
    

内容的提问来源于stack exchange,提问作者masa hiro

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 05:42:31