Laravel php artisan служит для имитации HTTPS

Я искал вокруг, чтобы узнать, есть ли способ, которым я могу издеваться над SSL для локальной разработки, используя ремесленника Laravel для обслуживания HTTPS, но безуспешно.

Возможно ли это и если да, то как?

Я понимаю, что это очень общий вопрос, но я ничего не вижу по этому поводу в поиске.


person Jazzy    schedule 08.11.2014    source источник
comment
Если вы, возможно, являетесь пользователем Mac, valet может помочь вам laravel.com/docs/5.6/valet #защита-сайтов   -  person Vladimir Vukanac    schedule 02.08.2018


Ответы (3)


Вы можете использовать ngrok для этого

php artisan serve
cd <path-to-ngrok>
./ngrok http localhost:8000

https://ngrok.com/

person Іван Худа    schedule 16.02.2019
comment
Это не отвечает на вопрос. Он облегчает подключения из-за пределов локальной сети через ngrok к локально работающему веб-серверу, но только по HTTP, а не по HTTPS. - person Matthew Setter; 20.05.2021

Laravel использует встроенный сервер разработки PHP5.4 php -S (http://php.net/manual/en/features.commandline.webserver.php) для его команды artisan serve (см. Illuminate\Foundation\Console\ServeCommand). Это поддерживает только простой HTTP, так что нет, это невозможно. Лучше всего использовать коробку Vagrant, настроенную для работы с SSL/TLS.

person kieranajp    schedule 07.05.2015

Если вы используете xampp, вы можете настроить HTTPS локально с помощью xampp (это сообщение также полезно для настройки HTTPS), а затем вы можете:

  1. переместите свой проект в папку htdocs и посетите его с помощью https://localhost/projectFolder/public/

  2. или просто создайте специальный VirtualHost в httpd-vhosts.conf для этого проекта (всегда указывайте на эту папку public, откуда запущен проект), а затем посетите ее с помощью https://localhost/ в этом примере (конечно, вы можете запустить его на поддомене, если вы хотеть)

    <VirtualHost *:80>
        ServerName localhost
        DocumentRoot "c:\pathToYourProject\projectFolder\public"
        <Directory "c:\pathToYourProject\projectFolder\public">
            Options All
            AllowOverride All
        </Directory>
    </VirtualHost>
    
    # this should ensure https (this is mentioned in the stackoverflow post, that I linked as useful
    <VirtualHost *:443>
        ServerName localhost
        DocumentRoot "c:\pathToYourProject\projectFolder\public"
        SSLEngine on
        SSLCertificateFile "conf\ssl.crt\server.crt"
        SSLCertificateKeyFile "conf\ssl.key\server.key"
        <Directory "c:\pathToYourProject\projectFolder\public">
            Options All
            AllowOverride All
        </Directory>
    </VirtualHost>
    

Теоретически, когда вы используете этот метод, вам даже не нужен php artisan serve (хотя я не совсем уверен, имеет ли он какую-либо цель в этом случае).

person SenTisso    schedule 07.09.2020
comment
Вопрос был явным о ремесленной подаче - person IceFire; 01.12.2020