我正在尝试开始使用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服务吗?
对一个全新的主题非常困惑
谢谢
答案 0 :(得分:8)
您需要通过向homestead.rb添加新行来转发SSL端口
sudo nano /vagrant/scripts/homestead.rb
# add SSL port forwarding ...
config.vm.network "forwarded_port", guest: 443, host: 44300
编辑您正在处理的宅基地(用现有网站替换示例)
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;