在 xampp 中使用 https 而不是 localhost

2022-08-30 13:41:30

我的问题可能很愚蠢,但老实说,我搜索了很多,取得了成功,但并不完整。

我在Windows 8中使用xampp。

我的主机文件如下所示。

    127.0.0.1   localhost
    127.0.0.1   www.mysite.com

我的 httpd-vhosts.config 如下所示。

    NameVirtualHost 127.0.0.1
    <VirtualHost 127.0.0.1>
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
    </VirtualHost>
    <VirtualHost 127.0.0.1>
        ServerName www.mysite.com
        ServerAlias mysite.com
        DocumentRoot "C:/xampp/htdocs/mysite"
    </VirtualHost>

这非常适合http。但是我已经启用了 ssl。

当我键入 或 时,两者都工作正常。http://localhosthttps://localhost

当我键入它工作时,http://mysite.com

当我键入它时,它被重定向为并显示xampp的默认欢迎页面。https://mysite.comhttps://mysite.com/xampp/

我试着跟着做一些事情。

1)我没有使用127.0.0.1,而是在httpd-vhosts.conf中使用*:80,但结果是相同的。

2)我没有使用127.0.0.1,而是尝试在httpd-vhosts.conf中使用*:443,但是在重新启动apache时无法再次启动。

请让我知道我如何通过域名而不是本地主机与https或http访问我的网站。


答案 1

我尝试了很多东西,但我认为我错过了基本的编辑。

现在一切正常。

现在主机文件仍然与问题中提到的相同。我没有对它进行任何更改。

我更改了 httpd-vhosts.config 中的端口,如下所示。

NameVirtualHost *
    <VirtualHost *>
        DocumentRoot "C:/xampp/htdocs"
        ServerName localhost
    </VirtualHost>
    <VirtualHost *>
        ServerName www.mysite.com
        ServerAlias mysite.com
        DocumentRoot "C:/xampp/htdocs/mysite"
    </VirtualHost>

此外,我错过的步骤是在httpd-vhosts.config的同一文件夹中编辑httpd-ssl.config文件。

我只是在http-ssl.config文件的最后一行之前添加了以下行,即</IfModule>

<VirtualHost _default_:443> 
    DocumentRoot "C:/xampp/htdocs/mysite" 
    ServerName www.mysite.com:443 
    ServerAlias mysite.com:443  
    SSLEngine on 
    SSLCertificateFile "conf/ssl.crt/server.crt" 
    SSLCertificateKeyFile "conf/ssl.key/server.key" 
</VirtualHost> 

感谢所有朋友在这方面对我的帮助,没有你们的链接,我永远无法发现我需要再编辑一个文件。


答案 2

让我也为其他人一步一步地解释一下。

1. 将您的自定义域名映射到 HOSTS 文件中的本地主机。

打开主机文件并添加到以下行。

127.0.0.1 www.example.com

2. 告知 XAMPP 您的自定义域。

将以下内容添加到 httpd-vhosts.conf

<VirtualHost *>
    ServerName www.example.com
    ServerAlias example.com
    DocumentRoot "C:/xampp/htdocs/example"
</VirtualHost>

如果您有本地主机的端口,请将其添加到<虚拟主机 *:80>

重新启动apache,现在您可以在浏览器中访问 http://example.com

3. 如果您想访问 https://example.com

将以下行添加到 httpd-vhosts.conf

<VirtualHost *:443>
    DocumentRoot "C:/xampp/htdocs/example"
    ServerName www.example.com
    SSLEngine on
    SSLCertificateFile "conf/ssl.crt/server.crt"
    SSLCertificateKeyFile "conf/ssl.key/server.key"
    <Directory "C:/xampp/htdocs/example">
        AllowOverride All
        Order allow,deny
        Allow from all
    </Directory>
</VirtualHost>


推荐