我已经读过Laravel在用户通过HTTPS浏览时可以检测到的所有内容,并使用它来相应地生成路由,但这似乎是不真实的。
我在AppServiceProvider
中使用了一个配置来强制所有生成的网址为HTTPS加上前缀,但这只会掩盖一个潜在的问题。
我让Laravel坐在EC2实例上。没有负载均衡器,我没有配置代理。这纯粹是一个开发实例。
如何将route
帮助程序生成的URL用于使用HTTPS?
答案 0 :(得分:1)
如果用户在HTTPS页面上,Laravel的route()
帮助程序将生成HTTPS URL。由于Google Chrome已经将HTTP网站标记为不安全,因此最好将所有HTTP请求重写为HTTPS。有很多方法可以做到这一点,但据我所知,最好是设置您的Web服务器来完成这项工作。
Apache的示例VH:
<VirtualHost my.app:80>
ServerName my.app
Redirect permanent / https://my.app
</VirtualHost>
<VirtualHost my.app:443>
DocumentRoot /home/my/public
ServerName my.app
ServerAlias my.app
ServerAlias *.my.app
SSLEngine on
SSLCertificateFile conf/ssl.crt/server.crt
SSLCertificateKeyFile conf/ssl.key/server.key
<Directory /home/my/public>
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
</VirtualHost>