本文概述
- 为本地主机URL启用SSL
- 在单个项目上为虚拟主机启用SSL
你可能试图在浏览器中以https而不是http开头来简单地更改url, 但是, 如果尝试在浏览器中访问, 唯一会发现的是Object not found!。
问题本身就解决了, 我们需要解决它, 我们的虚拟主机不为我们的项目提供SSL支持, 因此我们无法使用安全连接。
为本地主机URL启用SSL【在本地PHP项目中使用xampp启用SSL(https协议)】默认情况下, localhost域允许你访问xampp / htdocs文件夹内的任何文件。例如, 如果你在C:/xampp/htdocs/file.html中有一个HTML文件, 即file.html, 则可以使用HTTP协议在浏览器中的http://localhost/file.html上轻松访问它。以相同的方式, 你可以通过HTTPS协议访问https://localhost/file.html上的文档。
如果使用虚拟主机访问文件或项目, 则可以执行下一步。
在单个项目上为虚拟主机启用SSL我们假设你已经在* 80端口上安装了一个普通的虚拟主机, 它看起来类似于:
<
VirtualHost 127.0.0.2:80>
DocumentRoot "C:/xampp/htdocs/myproject/web"DirectoryIndex index.php<
Directory "C:/xampp/htdocs/myproject/web">
Options All AllowOverride All Require all granted<
/Directory>
<
/VirtualHost>
一个普通的虚拟主机, 指向一个简单的symfony 3项目中的端口80, 没什么特别的, 它本身不支持https。
要启用SSL连接, 你需要在另一个VirtualHost标记内添加以下各行, 这些标记的结构基本上与你的主要VirtualHost标记相同, 但具有以下信息:
注意现在, 端口必须是443, 而不是80。
SSLEngine onSSLCertificateFile "conf/ssl.crt/server.crt"SSLCertificateKeyFile "conf/ssl.key/server.key"
前几行将在你的项目中启用SSL。请注意, 这些路径是相对的, 使用正常安装的xampp发行版应该可以运行, 如果不起作用, 请尝试将其更改为绝对路径。它们通常位于xampp / apache / conf / ssl.key / server.key和xampp / apache / conf / ssl.crt / server.crt中。
<
VirtualHost 127.0.0.2:443>
DocumentRoot "C:/xampp/htdocs/myproject/web"ServerName myprojectSSLEngine onSSLCertificateFile "conf/ssl.crt/server.crt"SSLCertificateKeyFile "conf/ssl.key/server.key"<
Directory "C:/xampp/htdocs/myproject/web">
Options All AllowOverride All Require all granted<
/Directory>
<
/VirtualHost>
请记住, 启用SSL的重点是属性SSLEngine, SSLCertificateFile和SSLCertificateKeyFile和正确的端口(443)。
现在在你的httpd-vhosts.conf文件中添加两个VirtualHost:
# http<
VirtualHost 127.0.0.2:80>
DocumentRoot "C:/xampp/htdocs/myproject/web"DirectoryIndex index.php<
Directory "C:/xampp/htdocs/myproject/web">
Options AllAllowOverride AllRequire all granted<
/Directory>
<
/VirtualHost>
# https<
VirtualHost 127.0.0.2:443>
DocumentRoot "C:/xampp/htdocs/myproject/web"ServerName myprojectSSLEngine onSSLCertificateFile "conf/ssl.crt/server.crt"SSLCertificateKeyFile "conf/ssl.key/server.key"<
Directory "C:/xampp/htdocs/myproject/web">
Options AllAllowOverride AllRequire all granted<
/Directory>
<
/VirtualHost>
保存httpd-vhosts.conf文件, 然后重新启动apache服务并尝试使用https协议进行连接。
注意在某些浏览器中, 由于证书不受信任, 你会收到警告, 你只需要跳过此警告。
玩得开心 !
推荐阅读
- 是否有可能改变Android中蓝牙传输的频率(也许通过NDK?)
- 如何在Symfony 3中使用doctrine orm使用多个数据库
- 如何在Windows中使Visual Studio代码窗口透明
- 如何在WinForms C#中使用NAudio将MP3文件转换为WAV
- 如何在Symfony中使用FOSUserBundle和FOSOAuthServerBundle启用电子邮件和用户名登录
- 如何使用Twig获取路径,实际路由和主机域的规范URL
- Web Api(Symfony 2或3和预检的Angular响应具有无效的HTTP状态代码403)
- 如何在Symfony 3中创建依赖选择(依赖下拉列表)
- 如何使用PHP根据日期计算年龄