【问题标题】:MSSQL Timeout error on Azure Ubuntu VM when AnyConnect is onAnyConnect 开启时 Azure Ubuntu VM 上的 MSSQL 超时错误
【发布时间】:2018-12-13 00:54:12
【问题描述】:

希望你能帮我解决这个问题:

我编写了一个 NodeJS 应用程序,它连接到 Azure MSSQL 并接收来自 VPN AnyConnect 客户端的请求,当我在我的开发机器上运行整个系统时,它运行良好,这是一个 Ubuntu 服务器 18.04,当我尝试时,问题就来了将其部署在 Azure VM 上(Ubuntu 服务器 18.04 也是)连接 vpn 客户端时,NodeJS 会向 azure MSSQL 抛出超时,如果我断开 vpn,NodeJS 会再次正常工作。

我已将 azure VM 端口配置为允许 vpn、ssh 和 https 连接,我使用的 NodeJS 库是 node-msql

任何使 MSSQL 连接成为 AnyConnect 客户端的建议?

【问题讨论】:

    标签: sql-server azure azure-sql-database vpn ubuntu-server


    【解决方案1】:

    很高兴面对没有人面对的麻烦,我想分享我是如何解决这个问题的。如果有人遇到同样的问题,我希望这会有所帮助。

    我的问题是 SQL Server 上的连接策略,就我而言,数据库托管在 Azure 上,因此,使用 az 命令行工具(您可以安装它或在 Azure 门户上使用)我解决了这个问题:

    //Check policy connection
    $ az sql server conn-policy show -g myResourceGroup -s mySQLServer
    
    //This displayed next:
    
    {
        "connectionType": "Default",
    
        "id": "/subscriptions/{mySusbcriptionId}",
    
        "kind": null,
    
        "location": "East US",
    
        "name": "default",
    
        "resourceGroup": "MyresourceGroup",
    
        "type": "Microsoft.Sql/servers/connectionPolicies"
    
    }
    

    AZ docs sais 中有 3 种类型的策略:默认、重定向和代理 我确实尝试了所有这些,但对我有用的是代理,你可以改变 使用此命令的策略:

    $ az sql server conn-policy update -g myResourceGroup -s mySQLServer -t Proxy
    

    此后,VM 可以与 SQL Server 建立连接,并且现有连接不受影响。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-30
      • 2019-08-13
      • 1970-01-01
      • 2021-10-06
      • 2018-06-14
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      相关资源
      最近更新 更多