【问题标题】:Symfony + mssql. Error tls_process_server_certificate:certificate verify failed:self signed certificatesymfony + mssql。错误 tls_process_server_certificate:证书验证失败:自签名证书
【发布时间】:2023-01-03 21:27:08
【问题描述】:

我尝试将 mssql 连接到我的 symfony 项目,但出现错误 SQLSTATE[08001]:[Microsoft][SQL Server 的 ODBC 驱动程序 18]SSL 提供程序:[错误:1416F086:SSL 例程:tls_process_server_certificate:证书验证失败:自签名证书] “ 所以我想在 pdo 概念上设置“TrustServerCertificate=yes”,但无法弄清楚它在 symfony 上的表现
我试着用 .env 写

DATABASE_MSSQL_URL="mssql://user:password@ip:port/db_name?Trusted_Connection=yes&Encrypt=yes&TrustServerCertificate=yes"

在配置/包/doctrine.yaml 中:

   dbal:
     jtl:
        url: '%env(resolve:DATABASE_MSSQL_URL)%'
        driver: 'pdo_sqlsrv'
        server_version: '13'
        charset: utf8mb4

它没有帮助

【问题讨论】:

  • 一些驱动程序接口有点不稳定。你试过TrustServerCertificate=yes;而不是TrustServerCertificate=true;看看它是否有效?
  • 此外,鉴于学说文件中的 snake_case 参数,您可以在那里尝试trust_server_certificate: true
  • “mssql://user:password@ip:port/db_name;TrustServerCertificate=1” - 它对我有用

标签: sql-server symfony pdo sqlsrv


【解决方案1】:

您可以添加一个连接选项。但是,在我的项目中,它只适用于明确的“url”和添加到两者的“TrustServerCertificate”选项:

dbal:
  connections:
    ...
    my_ms_sql_db:
      url: "sqlsrv://my_user:my_password@192.168.0.2:1434/my_db?TrustServerCertificate=yes"
      driver: pdo_sqlsrv
      charset: UTF-8
      host: ...
      port: ...
      ...
      options:
        TrustServerCertificate: yes

【讨论】:

    【解决方案2】:

    在mssql连接url中,属性只能使用分号(';')分隔

    mssql://user:pass[serverName[instanceName][:portNumber]];property=value[;property=value]]
    

    例子:

    DATABASE_URL=mssql://user:pass@serverName:port/db;**TrustServerCertificate=1**
    

    虽然是jdbc,但是在这个case也适用。

    【讨论】:

      【解决方案3】:

      对我来说,这个选项很有效:

      dbal:
        connections:
          ...
          my_ms_sql_db:
            ...
            options:
              TrustServerCertificate: 1
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-30
        • 2018-12-21
        • 2021-05-20
        • 2021-12-06
        • 1970-01-01
        • 2017-04-18
        • 2021-09-04
        相关资源
        最近更新 更多