【问题标题】:How to enable HTTPS on Symfony 4 local web server如何在 Symfony 4 本地 Web 服务器上启用 HTTPS
【发布时间】:2019-11-03 05:20:03
【问题描述】:

我正在使用 symfony 本地 Web 服务器在本地处理 Symfony 4 项目。如何在本地开启 HTTPS?

  1. 在文档https://symfony.com/doc/current/setup/symfony_server.html#enabling-tls 中说要使用“symfony server:ca:install”命令,但我收到一条错误消息:

“server:ca”命名空间中没有定义命令。 你的意思是其中之一吗?

学说:缓存

服务器

  1. 然后我找到https://symfony.com/doc/current/security/force_https.html并尝试添加

    - { path: ^/, roles: IS_AUTHENTICATED_ANONYMOUSLY, requires_channel: https }
    

毕竟清除缓存。但现在它从http://127.0.0.1:8000 重定向到https://127.0.0.1/,无法访问该站点

那么配置https的正确方法是什么?

启用https的主要原因是我想配置用Facebook登录,但是Facebook需要https连接。所以我无法测试它。或者,如果您知道在没有 https 的情况下使用 Facebook 测试登录的方法 - 这将是最好的决定!)

提前感谢您,祝您阅读愉快!)

【问题讨论】:

  • 你实际上必须安装一个binary called symfony。自己没试过。这个二进制文件曾经或多或少是创建 symfony 应用程序的标准方式。在 S4 中不再使用它,但我想它仍然处理证书的东西。在本地安装 nginx 或 apache 可能更容易。
  • @Cerad 谢谢!你是对的)“它不再用于 S4”——这就是为什么我认为我不需要安装任何东西,除了作曲家。

标签: php symfony ssl https server


【解决方案1】:

您可能没有正确运行symfony 命令,或者您可能有一些奇怪的符号链接。这是我的系统的示例输出:

$ symfony server:ca:install

 [OK] The local Certificate Authority is installed and trusted                                                          

你引用的输出看起来更像bin/console 响应。

仅供参考,symfony 控制台命令可以在这里下载:http://symfony.com/download

关于您的第二点,该配置是有效的,但它不启用 HTTPS,它只确保某些 URL 具有协议要求。

【讨论】:

  • 非常感谢!是的,我错误地认为 bin/console 和 symfony 命令可能做同样的事情(因为两者都有“服务器”命令)。
  • 但是当我成功安装证书并启动服务器时 - 我看到“没有指定输入文件。”。谷歌只给我关于我没有的 nginx 配置等的结果。不幸的是,我找不到 symfony 服务器的解决方案(但是,无论如何,感谢您对我上面的问题的解决方案!
  • 不客气。如果您遇到其他问题,您可以将其作为另一个问题发布在这里。或者可能是 Symfony 客户端应用跟踪器中的一个问题:github.com/symfony/cli
  • 顺便说一句,server:ca:install thingie 仅适用于由symfony serve 命令启动的服务器。它不适用于 Encore 部分或 bin/console server:run(无论如何不能直接用于后者)。
猜你喜欢
  • 1970-01-01
  • 2019-03-31
  • 1970-01-01
  • 2017-11-24
  • 2019-07-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多