2017-01-10 17 views
1

ユーザーがHTTPS経由でブラウズしているときに、Laravelがそのルートを生成するためにそれを使用しているが、これは間違っているように見えます。Laravel 5.3 HTTPSルート

AppServiceProviderの設定を使用して、生成されたすべてのURLにHTTPSのプレフィックスを付けるようにしましたが、これは基本的な問題のみを隠しています。

私はLaravelをEC2インスタンスに置いています。ロードバランサはなく、私はプロキシを設定していません。これは純粋に開発のインスタンスです。

routeヘルパーが生成したURLにHTTPSを使用させるにはどうすればよいですか?

+0

私の知る限りでは、生成されたURLは絶対的、相対的ではないでなければなりませんので、上のプロトコルは存在しないでしょう。 – aynber

+0

これらは絶対URLとして生成されています。 –

答えて

1

ユーザーがHTTPSページにいる場合、Laravelのroute()ヘルパーはHTTPS URLを生成します。 Google Chromeは既にHTTPウェブサイトを安全でないとマークしているので、すべてのHTTPリクエストをHTTPSに書き換えることをお勧めします。これを行うには多くの方法がありますが、私が知っている限り、あなたのウェブサーバーをセットアップすることが最善です。 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> 
+0

'HTTPSページを開いている場合、Laravelのroute()ヘルパーはHTTPS URLを生成します。これは問題です。私の仮想ホストはすでにHTTPSをサポートするように設定されています。 –

+0

Webサーバーの設定ファイルに問題があるようです。上記の設定は非常に大きなプロジェクトからのもので、完全に動作しますので、試してみてください。すべてのHTTPリクエストをHTTPSに書き換えるので、HTTPページをロードできなくなります。 –

+1

私はSSLEngineをオンにしていないようです。経路は今はうまいようです。 –