Heyyit 2025-04-05 14:17 采纳率: 0%
浏览 41
已结题

搭建nginx服务器后只能用IP访问无法用地址访问

虚拟机nginx服务器基于地址搭建了两台虚拟主机,并且curl都通,本机windows和虚拟机也可ping通,也配置了/etc/hosts文件,但是浏览器访问ip能访问,地址不可以 求解答谢谢

  • 写回答

2条回答 默认 最新

  • 阿里嘎多学长 2025-04-05 14:17
    关注

    阿里嘎多学长整理AIGC生成,因移动端显示问题导致当前答案未能完全显示,请使用PC端查看更加详细的解答过程

    问题解答

    你搭建了 Nginx 服务器,虚拟机中有两台虚拟主机,可以使用 curl 访问,但是浏览器只能使用 IP 访问,而不能使用域名访问。

    可能的原因是 Nginx 配置文件中没有正确地配置虚拟主机的域名解析。

    你可以检查 Nginx 配置文件(通常是 /etc/nginx/nginx.conf/etc/nginx/conf.d/*.conf)中的 server 块,确保其中包含了正确的 server_name 指令。

    例如:

    server {
        listen 80;
        server_name example.com;
        ...
    }
    

    如果你已经配置了 server_name 指令,但是仍然不能访问域名,可以尝试在 Nginx 配置文件中添加以下指令:

    server {
        listen 80;
        server_name example.com;
        resolver 8.8.8.8 valid=30s;
        ...
    }
    

    这将告诉 Nginx 使用 Google 的公共 DNS 服务器(8.8.8.8)来解析域名。

    如果你仍然不能访问域名,可以尝试使用 dig 命令来检查域名解析是否正确:

    dig example.com
    

    这将显示域名解析结果,如果结果中没有包含正确的 IP 地址,可能是 DNS 服务器的问题。

    如果你已经检查了 Nginx 配置文件和 DNS 服务器,但是仍然不能访问域名,可以尝试使用 hosts 文件来映射域名到 IP 地址:

    echo "127.0.0.1 example.com" >> /etc/hosts
    

    这将将 example.com 映射到 127.0.0.1 IP 地址,然后你可以使用浏览器访问 example.com

    如果你仍然不能访问域名,可以提供更多的日志信息和配置文件内容,以便更好地帮助你解决问题。

    评论

报告相同问题?

问题事件

  • 已结题 (查看结题原因) 4月5日
  • 创建了问题 4月5日