20

我一直在四处寻找,看看是否有一种方法可以模拟 SSL 进行本地开发,使用 Laravel 的工匠来服务 HTTPS,但没有运气。

这可能吗?如果可以,怎么做?

我知道这是一个非常普遍的问题,但我在搜索中没有看到任何关于此的内容。

4

3 回答 3

27

你可以使用ngrok

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

https://ngrok.com/

于 2019-02-16T10:55:31.947 回答
14

Laravel 使用内置的 PHP5.4 开发服务器php -Shttp://php.net/manual/en/features.commandline.webserver.php)作为它的artisan serve命令(参见参考资料Illuminate\Foundation\Console\ServeCommand)。这仅支持纯 HTTP,所以不,这是不可能的。您最好的选择是使用设置为使用 SSL/TLS 的 Vagrant 框。

于 2015-05-07T16:02:24.460 回答
-2

如果您使用的是 xampp,那么您可以使用 xampp在本地设置 HTTPS这篇文章对于设置 HTTPS 也很有用),然后您可以:

  1. 将您的项目移动到htdocs文件夹并访问它https://localhost/projectFolder/public/

  2. 或者只是为这个项目创建一个特殊VirtualHost的in 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(我不完全确定它在这种情况下是否有任何用途)。

于 2020-09-07T20:33:00.273 回答