Ubuntu20.04下Apache虚拟主机配置后无法通过域名访问问题求助
问题根因及解决方案
- 1、优先解决域名解析问题
你修改服务器本地/etc/hosts只能让服务器自身识别这个域名,外部访问设备完全感知不到该配置,所以无法解析域名:- 若为公网正式使用:登录你的域名注册商后台,给
myapp.xyz.net添加A记录,值填写你服务器的公网IP1.2.3.4,等待解析生效(全球生效通常最多需要24小时,国内一般10分钟内) - 若为内网测试使用:给所有需要访问该站点的客户端设备(电脑/手机等)的hosts文件添加一行配置:
1.2.3.4 myapp.xyz.net,Windows系统hosts路径为C:\Windows\System32\drivers\etc\hosts,Mac/Linux路径为/etc/hosts
- 若为公网正式使用:登录你的域名注册商后台,给
- 2、修正虚拟主机配置错误
你当前的配置存在两处冗余和隐患,建议修改为以下内容:
<VirtualHost *:80> ServerName myapp.xyz.net LogLevel warn ErrorLog /var/log/apache2/myappconsoleError.log CustomLog /var/log/apache2/myappAccess.log combined ProxyPass / http://127.0.0.1:8069/ ProxyPassReverse / http://127.0.0.1:8069/ </VirtualHost>
修改说明:
- 删除了重复的
ServerAlias配置,和ServerName完全重复的别名没有实际作用 - 把代理目标的域名改为
127.0.0.1,避免Apache代理时再次触发域名解析,减少不必要的故障点 - 你之前尝试改为
<VirtualHost 127.0.0.1:80>的操作是错误的,会导致Apache只监听本机发起的请求,外部请求无法进入,必须改回*:80 - 3、生效配置并验证
修改配置后执行命令重启Apache生效:systemctl restart apache2
解析生效后可在本地执行nslookup myapp.xyz.net验证返回的IP是否为1.2.3.4,确认无误后即可通过域名正常访问。
内容的提问来源于stack exchange,提问作者codeghoda
相关产品推荐
相关产品推荐

