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 中的每个虚拟主机

重定向到 Apache 虚拟主机文件中的子文件夹

如何为本地机器中的多个虚拟主机配置 linux/apache

虚拟主机中的 Apache HTTPD 别名和目录

需要使用虚拟主机中的 apache 代理测试从我的本地主机到外部服务器的 html 页面的登录