如何为Laravel Sail配置自定义本地域名(替代laravel.test)
Laravel Sail 自定义本地域名无法访问的解决步骤
以下是针对将Laravel Sail默认域名从laravel.test改为acme.dev后无法访问的排查和解决方法:
彻底重启Sail容器
修改docker-compose.yml后,必须清理旧容器和卷才能让新配置生效:sail down -v sail up -d-v参数会删除关联的卷,确保容器启动时加载全新的配置。验证Nginx配置是否更新
进入Nginx容器检查站点配置,确认server_name已设置为acme.dev:sail exec nginx cat /etc/nginx/sites-enabled/laravel.conf如果配置未更新,可发布Sail的默认配置文件后手动修改:
sail artisan sail:publish找到
docker/nginx/sites/laravel.conf文件,修改server_name为acme.dev,再重启容器。清除浏览器缓存与DNS缓存
- 浏览器端:用Ctrl+Shift+R强制刷新页面,或使用隐私/无痕窗口测试,避免旧域名缓存干扰。
- 系统DNS缓存:
- macOS/Linux:执行
sudo dscacheutil -flushcache(macOS)或sudo systemctl restart nscd(Linux)刷新DNS。 - Windows:打开命令提示符执行
ipconfig /flushdns。
- macOS/Linux:执行
验证hosts文件生效
执行ping acme.dev,确认返回结果为127.0.0.1。如果未返回,检查/etc/hosts(macOS/Linux)或C:\Windows\System32\drivers\etc\hosts(Windows)的修改是否正确,确保没有多余空格或注释符号。检查端口占用情况
执行sail ps查看Nginx容器的端口映射,确认0.0.0.0:80->80/tcp状态正常。如果80端口被其他服务占用,修改docker-compose.yml中的端口映射:services: nginx: ports: - '8080:80'之后访问
http://acme.dev:8080测试是否能正常打开。检查Session域名配置
打开.env文件,确认SESSION_DOMAIN配置:- 如果之前设置为
laravel.test,需改为acme.dev; - 也可以留空
SESSION_DOMAIN=,让Laravel自动适配当前访问域名。
- 如果之前设置为
内容的提问来源于stack exchange,提问作者Hector Ordonez
相关产品推荐
相关产品推荐

