如何正确配置Nginx实现域名访问?IP可访问但域名无法访问求助
正确配置Nginx实现域名访问
你的Nginx配置无法通过域名访问的核心问题是监听端口不匹配——浏览器访问域名默认走HTTP的80端口,而你的配置监听的是8080端口,导致请求没被Nginx接收。按以下步骤修改验证:
修改Nginx配置
将现有配置调整为监听80端口,并补充必要的代理头(避免后端服务无法获取正确的请求信息):
server { listen 80; server_name team-mate.app www.team-mate.app; location / { proxy_pass http://127.0.0.1:8000; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } location /static/ { root /app; expires 30d; # 缓存静态资源,优化访问速度 } }
验证与生效步骤
- 检查配置语法:执行
nginx -t,输出显示test is successful才算配置无误 - 重载Nginx:执行
nginx -s reload,让新配置立即生效 - 开放80端口:如果服务器有防火墙,需开放80端口:
- Ubuntu/Debian:
ufw allow 80 - CentOS/RHEL:
firewall-cmd --permanent --add-port=80/tcp && firewall-cmd --reload
- Ubuntu/Debian:
- 确认域名解析:执行
nslookup team-mate.app,确认返回的IP是18.157.238.183 - 访问测试:直接在浏览器输入
team-mate.app或www.team-mate.app,验证是否能正常访问
内容的提问来源于stack exchange,提问作者Jekson
相关产品推荐
相关产品推荐

