Apache中的虚拟主机
Posted
技术标签:
【中文标题】Apache中的虚拟主机【英文标题】:Virtual host in Apache 【发布时间】:2012-09-27 22:04:42 【问题描述】:您好,我的项目的所有文档根位置是:
C:\xampp\htdocs\Warrington\public_html
我已经更新了我的主机文件 C:\Windows\System32\drivers\etc\hosts
添加了行 127.0.0.1 warrington.dev.com
然后我添加到 C:\xampp\apache\conf\extra\httpd-vhosts
<VirtualHost *:80>
ServerAdmin matthew@warrington.com
DocumentRoot "C:/xampp/htdocs/Warrington/public_html"
ServerName warrington.dev.com
ServerAlias www.warrington.dev.com
ErrorLog "C:/xampp/htdocs/Warrington/public_html/error_log"
</VirtualHost>
然后到 C:\xampp\apache\conf\httpd
Alias /public_html "C:/xampp/htdocs/Warrington/public_html"
<Directory "C:/xampp/htdocs/Warrington/public_html">
AllowOverride All
Order allow,deny
Allow from all
</Directory>
但是,当我重新启动 apache 并转到 www.warrington.dev.com 时,除此之外,日志中没有任何错误 抱歉,无法找到网站 www.warrington.dev.com。
关于设置虚拟主机的任何想法
我添加到主机文件 更新 httpd 和 httpd-vhosts 重新启动 apache 并没有欢乐
【问题讨论】:
【参考方案1】:www.warrington.dev.com 与 warrington.dev.com 不同,两者都需要在您的 hosts 文件中有一个 IP 地址条目。
【讨论】:
【参考方案2】:现在的浏览器可能禁用了 .dev 扩展名,并且可能需要通过 mydomain.test 进行有效的 SSL,如果您有 WINDOWS(以下对我在 CHROME DID NOT WORK FOR FIREFOX 上有效)您可以尝试以下方法来创建 SSL 文件对于每个域。 1. 到C:\xampp\apache\crt(没有这个文件夹就创建crt)
在crt文件夹下C:\xampp\apache\crt创建如下2个文件:cert.conf和make-cert.bat(点击链接复制代码)
在 cert.conf 中编辑 DOMAIN 并将其替换为您的域名示例:mydomain.test 并保存文件(删除您不使用的大括号'不需要它们)。
双击 make-cert.bat 并在命令提示符中输入 mydomain.test (与您在 cert.conf 文件中使用的名称相同)然后您只需按 Enter 并在下一个提示中输入它确实没有没关系。
您现在将看到已创建的 site.test 文件夹。在那个文件夹中,我们将拥有 server.crt 和 server.key。这是 SSL 证书。
双击 server.crt 将其安装在 Windows 上,以便 Windows 可以信任它。 (点击安装证书)并选择本地机器作为存储位置。
选择“将所有证书放入以下存储”并单击浏览并选择受信任的根证书颁发机构。
单击下一步并完成。现在此证书已在 Windows 中安装并受信任。接下来是如何在 XAMPP 中使用这个证书。
以管理员身份打开记事本。 编辑 C:\Windows\System32\drivers\etc\hosts (文件没有分机)在新行中添加这个:
127.0.0.1 mydomain.test
我们需要为此域启用 SSL,并让 XAMPP 知道我们将 SSL 证书存储在哪里。我们需要编辑 C:\xampp\apache\conf\extra\httpd-xampp.conf 并在底部添加此代码:
最后但并非最不重要的是,您必须在 Xampp 控制面板中重新启动 Apache 服务器(将其关闭然后重新打开)然后清除浏览器的缓存,然后重新启动浏览器。在您的浏览器中输入 mydomain.test 它应该按照我们在 C:\xampp\apache\conf\extra\httpd-xampp.conf 中输入的内容指定您项目的索引文件
【讨论】:
以上是关于Apache中的虚拟主机的主要内容,如果未能解决你的问题,请参考以下文章
Windows中的Apache通配符虚拟主机(xampp)[重复]
如何将 access.log 添加到 apache 中的每个虚拟主机