Docker本地环境搭建后容器运行正常 浏览器无法访问测试应用
问题原因及修复方案
一、Nginx配置错误(核心原因)
- 指令拼写错误:
servername是无效指令,Nginx正确的域名配置指令为server_name,拼写错误会直接导致Nginx配置加载失败 - 索引文件配置错误:
index指令重复配置了index.html,且缺少PHP应用必须的index.php,需修改为index index.html index.htm index.php;- PHP解析块中的
fastcgi_index错误配置为index.html,需修改为fastcgi_index index.php;
- 路由规则配置错误:如果你的应用是PHP框架类项目,
location /下的try_files需指向PHP入口文件,修改为try_files $uri $uri/ /index.php?$query_string;
二、访问路径与目录校验
- 端口映射校验:你配置的Nginx端口映射为
8088:80,本地访问地址应为http://localhost:8088,请勿直接访问80端口 - 目录结构校验:Nginx配置的站点根目录为
/var/www/html/public,对应宿主机的./src/public目录,需确认该目录存在,且目录下有对应的入口文件(index.html/index.php),否则会返回403/404错误
三、修复后操作步骤
- 修改完成Nginx配置后,先执行
docker exec nginx nginx -t测试配置是否合法,无报错再执行docker-compose restart nginx重启Nginx容器 - 若重启后仍无法访问,执行
docker logs nginx查看错误日志,定位具体问题
内容的提问来源于stack exchange,提问作者dlan
相关产品推荐
相关产品推荐

