You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Windows 10下Apache虚拟主机配置问题:自定义域名无法访问

调试Windows 10下Apache虚拟主机配置问题

从你提供的信息来看,核心问题出在hosts文件配置未生效,后续的HTTPS错误是衍生问题,我们一步步来解决:

一、先解决hosts不生效的根本问题

nslookup project.dev的结果可以明确,系统完全没读取到你hosts里的映射,这是访问失败的源头:

  1. 确保hosts文件正确编辑并保存

    • Windows的hosts文件路径是C:\Windows\System32\drivers\etc\hosts,必须用管理员权限打开编辑器(比如右键记事本→「以管理员身份运行」)才能修改保存,很多人忽略权限导致修改没真正写入。
    • 确认hosts里的映射格式正确:
      127.0.0.1 project.test  # 后面改成.test后缀,原因看下面
      ::1 project.test         # 可选,同时映射IPv6本地地址
      
  2. 强制刷新DNS缓存
    修改hosts后,系统可能还在使用旧缓存,打开管理员CMD执行:

    ipconfig /flushdns
    
  3. 检查DNS客户端服务状态
    Win+R输入services.msc,找到「DNS Client」服务,确保它处于正在运行状态——这个服务负责读取hosts文件并处理本地DNS解析,停掉的话hosts会失效。

二、解决Chrome的HTTPS强制跳转问题

你后来遇到的NET::ERR_CERT_AUTHORITY_INVALID错误,是因为.dev是Google注册的顶级域名,Chrome默认会强制将所有.dev域名跳转到HTTPS,而你本地Apache没配置SSL证书,所以报错。

最简单的解决方法是换一个非强制HTTPS的本地域名后缀,比如.test.local或者自定义的.project,避免浏览器自动跳转。

三、验证Apache虚拟主机配置

确保你的Apache配置没有遗漏:

  1. 开启虚拟主机模块
    打开httpd.conf,找到下面一行,去掉前面的注释符号#

    Include conf/extra/httpd-vhosts.conf
    
  2. 简化并修正虚拟主机配置
    httpd-vhosts.conf的简化配置,注意路径用正斜杠/或者双反斜杠\\,加上权限控制:

    <VirtualHost *:80>
        DocumentRoot "C:/Users/0x1111/workspace"
        ServerName project.test
        <Directory "C:/Users/0x1111/workspace">
            Require all granted
            AllowOverride All
        </Directory>
    </VirtualHost>
    

四、最终验证步骤

  1. 保存所有配置文件,重启Apache服务
  2. 再次执行nslookup project.test,正常结果应该是:
    Server:  localhost
    Address:  127.0.0.1
    
    Name:    project.test
    Address:  127.0.0.1
    
  3. 打开浏览器,手动输入http://project.test访问(不要省略http://,避免Chrome自动转HTTPS)

内容的提问来源于stack exchange,提问作者Chần Thị Như

火山引擎 最新活动