首页 文章

在不配置防火墙的情况下连接到远程SQL Server

提问于
浏览
0

我有一个位于美国的SQL Server,我编写了一个连接到服务器上的数据库并从服务器获取数据的程序 . 该计划的用户遍布世界各地 . 他们中的大多数可以轻松使用该程序(即成功 Build 连接) .

但是,一些尝试从办公楼内运行程序的用户由于公司的防火墙而无法连接到服务器 . 由于用户的数量和位置未知(应用程序是免费分发而没有通知给我),因此定制每个防火墙并不是一个真正的选择(即使它能帮助我做到这一点) .

我相信应该有一个类似“证书”的选项,必须嵌入我的程序中,并且必须在用户机器上的某处注册才能 Build 连接 . 或者任何类似的东西 . 不幸的是,我没有在互联网上发现任何具体内容 . 很可能是因为我用Google搜索了错误的单词 .

非常感谢任何帮助或建议!

2 回答

  • 1

    要 Build 连接,您需要在客户端安装防火墙,以允许访问您的sql server所在的ip .

    您可以向用户提供自定义消息以允许访问SQL Server的IP地址,但出于安全考虑,这样做是不安全的 .

    相反,您可以创建第三个应用程序来接收来自客户端的请求并将其转发到您的SQL Server . 像一些网络服务 . 在公共IP上托管此应用程序,并通知客户端需要在防火墙中打开IP以运行该程序 . 它将确保安全性以及您的问题将得到解决 .

  • 0

    如果防火墙(或其他安全设备)被阻止,则没有灵丹妙药 . 您需要避免直接与SQL Server通信 .

    即使您更改了端口,这些公司工作人员中的许多人将仅限于HTTP(S)访问,然后仅通过代理 .

    因此,您需要将HTTP与您提供的API进行对话,然后该API的实现(在您的控制下)与数据库进行对话 .

    这具有巨大的优势,可以为您提供额外的层来保护数据库中数据的完整性 .

相关问题