Laravel Homestead - SSL设置

时间:2014-08-28 21:36:25

标签: ssl laravel vagrant

我正在尝试开始使用vagrant进行开发 - 我完全不习惯使用vagrant进行开发 - 依赖于在笔记本电脑上设置的apache / php / mysql。

我正在使用laravel开发并且已经建立了宅基地,并且正在运行。

我尝试在家园上启用SSL(框?)并按照这些说明进行设置:https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-nginx-for-ubuntu-12-04

我对我正在处理的网站的homestead sites_enabled文件进行了更改。

我在服务器内的端口80下面添加了端口443,添加了SSL On等条目

我重新启动了nginx服务器并能够使用https查看我的页面(虽然chrome不喜欢证书)

如果我尝试使用http访问网页,我会收到400错误The plain HTTP request was sent to HTTPS port

所以有几个问题: 1.如何更改设置以使用HTTP和HTTPS请求的组合? 2.使用HTTP和HTTPS请求的组合服务网站是不好的做法 - 我应该只是将整个网站作为https服务吗?

对一个全新的主题非常困惑

谢谢

2 个答案:

答案 0 :(得分:8)

将端口转发添加到homestead 1.x

您需要通过向homestead.rb添加新行来转发SSL端口

sudo nano /vagrant/scripts/homestead.rb  
# add SSL port forwarding ...
config.vm.network "forwarded_port", guest: 443, host: 44300

创建SSL证书

第一步到第四步

仅从本教程https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on-nginx-for-ubuntu-12-04

执行步骤一第四步

第五步 - 设置证书

编辑您正在处理的宅基地(用现有网站替换示例)

sudo nano /etc/nginx/sites-available/example

复制整个server{…}部分(不仅仅是listen行)。 在重复部分中,将listen 80修改为listen 443

在本节结束之前添加以下行:

ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;

exit并执行vagrant reload

小心--provision。您刚刚对sites-available/example所做的更改将重置为默认值。

如果您需要在配置的情况下永久更改,请查看位于您主机的家园文件夹serve.sh的{​​{1}},并将其编辑为第5步

在浏览器中使用homstead/scripts/serve.sh通过SSL进行访问。如有必要,请在浏览器中接受自签名证书。

答案 1 :(得分:1)

除了Peh。我没有使用上面的代码:

我确实需要删除

SSL on

并将ssl添加到侦听器

listen 443 ssl;