Почему при первом обращении к URL Laravel он отображает HTTP на основе Elastic Beanstalk? - PullRequest
0 голосов
/ 29 декабря 2018

Я использую laravel 5.5. Приложение обслуживается на одном экземпляре Elastic beanstalk.Я могу сервировать приложение Laravel по HTTPS.Однако, когда я впервые получаю ссылку, она служит HTTP.Если я обновлю ссылку, она снова будет работать по HTTPS.Чтобы проверить, я удалил все куки и поместил ссылку в адресную строку, опять же, когда я в первый раз захожу туда, он служит в HTTP и снова, если я обновляю страницу, которую он обслуживает по HTTPS.

Для обслуживания приложения laravel на Elastic Beanstalk я уже обновил сертификат SSL.

Использование .htaccess, как показано ниже

# Force SSL
RewriteCond %{HTTPS} !=on
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

RewriteCond %{HTTPS} !=on
RewriteCond %{REQUEST_URI} (\.\w+$) [NC]
RewriteRule ^(.*)$ public/$1 

Дополнительно, чтобы обслуживать все страницы HTTPS, я включил следующий код в метод загрузки AppServiceProvider

\URL::forceScheme('https');

Это очень раздражает, так как я не понимаю, если это проблема приложения Laravel или проблема с сервером.

1 Ответ

0 голосов
/ 30 декабря 2018

Вы можете настроить свой htaccess в корневом каталоге следующим образом.

<IfModule mod_rewrite.c>

    RewriteCond %{HTTP_HOST} yourdomain\.com\.ar [NC]
    RewriteCond %{SERVER_PORT} 80
    RewriteRule ^(.*)$ https://www.yourdomain.com.ar/$1 [R,L]

    RewriteEngine On
    RewriteRule ^(.*)$ public/$1 [L]
</IfModule>

Пожалуйста, попробуйте это и дайте мне знать, как это работает:)

...