Laravel Homestead - SSL设置

Ray*_*Ray 4 ssl vagrant laravel

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

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

我试过在宅基地启用SSL(盒子?)并按照这些说明进行设置:https://www.digitalocean.com/community/tutorials/how-to-create-a-ssl-certificate-on- nginx的换Ubuntu的12-04

我对我正在处理的网站的宅基地site_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服务吗?

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

谢谢

Pᴇʜ*_*Pᴇʜ 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
Run Code Online (Sandbox Code Playgroud)

创建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
Run Code Online (Sandbox Code Playgroud)

复制整个server{…}部分(不仅仅是listen你所做的那一行).在重复部分编辑listen 80listen 443.

在该部分结束之前添加以下行:

ssl on;
ssl_certificate /etc/nginx/ssl/server.crt;
ssl_certificate_key /etc/nginx/ssl/server.key;
Run Code Online (Sandbox Code Playgroud)

exit做一个vagrant reload.

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

如果您需要在配置的情况下永久地进行更改,请查看serve.sh位于主机hometead文件夹中的homstead/scripts/serve.sh更改并将其编辑为第5步.

使用https://your.domain:44300浏览器通过SSL访问.如有必要,请在浏览器中接受自签名证书.