Laravel Используйте HTTPS

У меня есть проект, и я установил SSL-сертификат на сервер Ubuntu. Я сделал все решения, которые нашел, но все равно получаю это сообщение каждый раз, когда открываю страницу.

The requested URL /about was not found on this server.

Вот что я изменил, чтобы заставить Laravel использовать https:

1- Я изменил .htaccess в своей общей папке и добавил эти строки

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

2- В app- > Providers- > AppServiceProvider я добавил это в функцию boot()

if (App::environment() === 'production' || App::environment() === 'dev') {
            URL::forceScheme('https');
        }

3- Я создал php artisan make:middleware ForceSSL и добавил приведенный ниже код в функцию дескриптора.

 if (!$request->secure() && in_array(env('APP_ENV'), ['stage', 'production'])) {
            return redirect()->secure($request->getRequestUri());
        }

        return $next($request);

и в Kernal.php

\MyApp\Http\Middleware\ForceSSL::class

В файле .env я изменил APP_URL на https:// и я также изменил APP_URL в app.php внутри папки конфигурации.

Что мне здесь не хватает? Два дня не мог понять почему :(

А это не помог?

Cliff Rono 14.02.2019 08:28

У вас есть маршрут / URL-адрес /about, настроенный в ваших маршрутах? Может переделать конфиг? php artisan config:clear

brombeer 14.02.2019 08:28

проверить маршрут с помощью php artisan route:list

Seema Ithape 14.02.2019 08:31

Это может быть глупый вопрос, но вы настроили свой виртуальный хост для обслуживания https в дополнение к http? По умолчанию у вас есть <VirtualHost *:80>, который предназначен только для http, и вам также нужно иметь <VirtualHost *:443> с конфигурацией сертификата.

apokryfos 14.02.2019 08:59

Вы используете nginx или apache? (или что-то другое)

Steffan Venema 14.02.2019 09:54

Я исправляю это с помощью этого решения и перезапускаю apache stackoverflow.com/a/48198007/1789976

Miss. Nada 14.02.2019 11:58
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
3
6
12 243
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Есть несколько вещей, которые вам нужно убедиться, что они работают:

  1. Ваш маршрут работает в стандартном режиме HTTP без index.php в URL. Например, иногда laravel.com/aboutus не работает, но laravel.com/index.php/aboutus работает. Если это так, вам нужно включить mod_rewrites в php, а затем добавить AllowOverride All в конфигурации вашего виртуального хоста и перезапустить apache.
  2. Что касается HTTPS, то, что вы настроили в laravel, сделает запрос laravel перенаправленным на безопасный URL-адрес HTTPS. Однако ваш сервер должен иметь возможность прослушивать, обрабатывать и отвечать на запросы HTTPS.
  3. Вам нужно разрешить вашему виртуальному хосту прослушивать порт 443, который является портом SSL. Кроме того, если у вас есть SSL-сертификаты, их также необходимо настроить.
  4. Прежде чем узнать, работает ли laravel на HTTPS, создайте простой файл php и попробуйте получить к нему доступ, используя HTTPS URL-адреса сервера. Если это работает, вы можете проверить, что не так в laravel. Если это не так, то SSL неправильно настроен на вашем сервере.
  5. Наконец, проверьте .htaccess условия перезаписи.
  6. php artisan config:clear и php artisan route:cache

Надеюсь, это поможет отладить это

я использую апач2

Miss. Nada 14.02.2019 11:44

Открывается главная страница, все остальные страницы не работают.

Miss. Nada 14.02.2019 11:45

Если вы говорите, что ваша домашняя страница работает с HTTPS, но не работает с внутренними страницами, проверьте файл .htaccess и

Mihir Bhende 14.02.2019 11:59

АМС | Сентос | ЭК2 | Сертификат АВС

Немного поздно, но мне пришлось изменить это только в моей среде. файл :

APP_URL=http://localhost

to

APP_URL=https://localhost

Все работает гладко.

Другие вопросы по теме