Nginx Server Block域名配置无法访问,IP配置正常问题求助
解决Nginx域名访问显示默认欢迎页的问题
以下是针对你遇到问题的排查和解决步骤:
验证域名解析正确性
先确认mydomain.com已经正确指向你的服务器IP185.###.###.###。在本地终端运行:dig mydomain.com检查返回的
ANSWER SECTION中的IP是否和服务器一致。如果刚设置了解析,可能需要等待10-30分钟让DNS缓存更新。检查Server Block配置
- 打开你的域名对应的server block配置文件(通常在
/etc/nginx/sites-available/目录下),确保配置包含正确的server_name和反向代理规则:
如果你是部署打包后的Angular静态文件,配置应该改为:server { listen 80; server_name mydomain.com www.mydomain.com; location / { proxy_pass http://localhost:4200; # 替换为你的Angular服务运行端口 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } }server { listen 80; server_name mydomain.com www.mydomain.com; root /path/to/your/angular/dist; # 替换为Angular打包后的静态文件目录 index index.html; location / { try_files $uri $uri/ /index.html; # 处理Angular路由的SPA特性 } } - 确保配置文件已经软链接到
/etc/nginx/sites-enabled/目录:sudo ln -s /etc/nginx/sites-available/your-config-file /etc/nginx/sites-enabled/ - 检查配置语法是否正确:
只有返回sudo nginx -ttest is successful才能继续下一步。
- 打开你的域名对应的server block配置文件(通常在
禁用默认Server Block
默认的Nginx欢迎页配置(/etc/nginx/sites-enabled/default)如果存在且设置了default_server,会优先匹配未被其他server block覆盖的请求。禁用它:sudo unlink /etc/nginx/sites-enabled/default重启Nginx并验证
修改配置后必须重启Nginx使更改生效:sudo systemctl restart nginx然后用隐私窗口访问
mydomain.com,避免浏览器缓存干扰。检查防火墙设置
确保服务器的80端口对外开放:sudo ufw status如果没有看到
80/tcp允许规则,添加它:sudo ufw allow 80/tcp
内容的提问来源于stack exchange,提问作者GPGVM
相关产品推荐
相关产品推荐

