Laravel 5.3 HTTPS路由

时间:2017-01-10 16:30:01

标签: php laravel amazon-ec2

我已经读过Laravel在用户通过HTTPS浏览时可以检测到的所有内容,并使用它来相应地生成路由,但这似乎是不真实的。

我在AppServiceProvider中使用了一个配置来强制所有生成的网址为HTTPS加上前缀,但这只会掩盖一个潜在的问题。

我让Laravel坐在EC2实例上。没有负载均衡器,我没有配置代理。这纯粹是一个开发实例。

如何将route帮助程序生成的URL用于使用HTTPS?

1 个答案:

答案 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>