在Laravel Homestead上使用SSL

问题描述 投票:6回答:4

我正在使用Laravel Homestead并且工作正常。现在我想在我的一个站点上实现HTTPS。

我发现为了达到这个目的,你只需要将ssl: true添加到Homestead.yaml中,然后运行vagrant reload --provision。

当我运行上面的命令时,我可以看到它工作,显示:

==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Certificate: laravel-cashier.local
==> homestead-7: Running provisioner: shell...
    homestead-7: Running: script: Creating Site: laravel-cashier.local

/etc/nginx/ssl中,我可以看到创建了这3个文件:

-rw-r--r-- 1 root root  683 Jul 19 16:26 laravel-cashier.local.cnf
-rw-r--r-- 1 root root 1269 Jul 19 16:26 laravel-cashier.local.crt
-rw-r--r-- 1 root root 1704 Jul 19 16:26 laravel-cashier.local.key

但接下来呢?

当我尝试使用https运行网站时:

enter image description here

enter image description here

enter image description here

我还需要做其他任何步骤吗?

注意:我使用的是最新的Homestead版本2.1.0。

我已经看过很多帖子,但我认为它们太旧了,并没有提供实现结果的确切步骤:

https://laracasts.com/discuss/channels/tips/tip-how-to-enable-ssl-in-homestead-20

https://laracasts.com/discuss/channels/servers/homestead-ssl

Laravel Homestead - SSL set up

laravel ssl laravel-5 https homestead
4个回答
9
投票

我假设您正在使用带有Vagrant的Windows + Homestead机器。 在这种情况下,laravel-cashier.local是您的Web应用程序。

您需要将Nginx中的Vagrant内的证书复制到外部文件夹:

$ sudo cp /etc/nginx/ssl/laravel-cashier.local.crt ~/laravel-cashier/laravel-cashier.local.crt

在Windows环境中,您可以通过双击安装此证书并选择下一个特定存储:

受信任的根证书颁发机构

重启浏览器。完成。

有关如何添加证书的更多信息:https://technet.microsoft.com/en-us/library/cc754841(v=ws.11).aspx#BKMK_addlocal

注意:这适用于特定浏览器:Google Chrome


1
投票

这是我第一次怀疑并在我的评论中提到的。您的SSL配置似乎是正确的,因为它报告连接是安全的。您使用的是自签名证书,该证书适用于开发,但未由认可的证书颁发机构签名,因此浏览器不会信任它。但是,一旦将项目部署到公众,您将需要从认可的证书颁发机构购买证书。获得该证书后,此错误将消失。


0
投票

这只是一年的问题,但感觉它真的很旧。

Fist - 使用版本6.1.0的'laravel / homestead'流浪盒你不需要任何ssl: true,它默认是活动的,但是你的浏览器不知道它是否可以信任ssl证书。

浏览器信任是laravel和宅基地的另一个问题,请参阅this解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.