首页 > 解决方案 > 是否有可能将托管在不同服务器上的 asp.net 网站连接到另一台服务器上的数据库?

问题描述

我知道这不是一个好主意,除非出于不可避免的原因。将数据库托管在与 Web 应用程序相同的服务器上是理想的。然而,我的服务器无法使用 MySQL 5 记录 phpmyadmin,尽管所有凭据都正确提供,没有错误,除了“必须在此时启用 Cookie”的注释。我已将 cookie 设置为允许,添加网站和其他配置,但仍然无法正常工作。我已经在PC和手机上尝试了几种浏览器,但它也无法正常工作。我尝试从几个在线远程源(如 FreeSQl、FreeDB、Somee 等)创建数据库,它在远程通过 pc 本地上的 Visual Studio 测试时工作正常,但一旦我托管,由于连接问题,我知道它不会工作的。我希望有人能帮助我 可能为我提供我可以在哪里创建和设置 MySql 数据库的链接,并且该连接将在我托管我的网站的另一台服务器上实时工作或如何解决 Phpmyadmin 问题。我会很好的。我可以回答问题,以帮助我实现目标。谢谢

标签: mysqlasp.netcookiesphpmyadmindatabase-connection

解决方案


这不仅是可能的,而且是一种常见的设置。您通常会有一些数据库服务器系统——它肯定不会托管网站。该网站经常托管并放置在不同的服务器上。

事实上,一些公司会为他们的网站采用托管公司,但它会访问并连接到他们在本地(或所谓的“本地”)的数据库服务器。事实上,这种方法通常用于允许 Android 手机和其他服务使用公司数据库中的数据,但该公司绝不会考虑向外部连接开放端口。(他们在虚拟主机系统和他们的本地网络之间建立了一个安全连接 - 通常是 VPN,但这真的没关系。因此,公司数据库服务器只允许来自本地网络的连接,然后说一个预定义的 IP 地址传入从网络托管。

因此,您可以采用在 Azure 操作系统上运行的云托管 SQL。(SQL Azure)。就像所有 Azure 实例一样?那么安全可以有几种方法。我的意思是托管在 Azure 上的数据库是罕见的,它只是向狂野的 Internet 开放以允许任何人连接。哎呀,16年前我测试了将我的家庭路由器开放到外部SQL连接。在不到 20 分钟的时间里,我开始看到有人尝试登录到该 SQl 服务器。

有些机器人会扫描互联网上的 IP 号码 + 端口。所以我开始看到这个:

Logon fail:  sa, password="password"
Logon fail:  sa, passowrd="123456"
etc. etc. etc.

因此,有几家公司提供托管数据库系统 Azure 和 AWS。但是,它们不允许任何具有 IP 地址的旧设备进行连接。在很多情况下,安全性将是一些固定的 IP 地址(例如,公司网络或 ISP 提供商提供给他们的外部固定 IP。虽然大多数消费者互联网系统不是固定 IP 地址?今天,即使是相对较小的企业也需要和想要工人远程工作。所以他们每月多付几美元(通常只有大约 10 美元,也许是 20 美元),现在他们有了一个固定的 IP 地址。从那时起,他们倾向于设置和采用基于现在固定 IP 地址的 VPN .

托管的 SQL 服务器?好吧,它也将设置为仅接受来自已知 IP 地址的外部传入请求 - 因此那些机器人和 IP 扫描仪无法连接。

现在,大多数低成本网络托管计划包括 SQL 服务器或 MySQL 作为低成本托管包的一部分。在这种情况下,从网站到数据库服务器的连接是内部的,这样的数据库系统不允许或允许外部连接到数据库服务器。因此,在 Amazon.com 上购买书籍时,他们的网络托管系统可以轻松连接到数据库——但这不是外部连接。

但是,您可以使用成本非常低的网络托管,并将 OUT 连接到外部数据库吗?是的,他们中的很多人都允许这样做,并且如前所述,在 Azure 上托管某些数据库也就不足为奇了。如前所述,在这种情况下,您的 Web 托管软件将以与任何其他外部系统连接的方式几乎相同的方式连接到 Azure。因此,虽然很少有网络托管系统允许与此类软件包中包含的数据库进行 OUTSIDE 连接?好吧,它们中的许多肯定允许您联系 - 并访问其他网站、其他 Web 服务(可能是您网站上的天气和临时显示????)。因此,一般来说,伸出援手是可能的——伸出援手?没那么多!!大约 10 年前,相当多的网络托管服务提供商——即使是低成本的 DID 也允许外部 ODBC 连接到数据库系统。然而,由于安全问题 - 大多数提供商不允许这样做。我认为即使是 GoDaddy 仍然允许这样做,但如果您确实要求这种能力,那么您获得的数据库服务器与他们的常规服务器不同 - 同样他们不想打开安全问题并且经常会打开该系统上托管的其他客户数据库的漏洞。但是,如前所述,随着 SQL Azure 等的兴起?我们看到托管服务提供商真正卷土重来,现在提供与数据库系统的外部连接,这些系统是 seutp 以允许托管网站访问这些数据库。不想公开安全问题,这通常会给托管在该系统上的其他客户数据库带来漏洞。但是,如前所述,随着 SQL Azure 等的兴起?我们看到托管服务提供商真正卷土重来,现在提供与数据库系统的外部连接,这些系统是 seutp 以允许托管网站访问这些数据库。不想公开安全问题,这通常会给托管在该系统上的其他客户数据库带来漏洞。但是,如前所述,随着 SQL Azure 等的兴起?我们看到托管服务提供商真正卷土重来,现在提供与数据库系统的外部连接,这些系统是 seutp 以允许托管网站访问这些数据库。

因此,您必须检查谁将为您提供虚拟主机,并确定该虚拟主机是否允许“接触”其他网络服务,或接触其他数据库服务器 - 正如我所指出的 - 这很常见现在。这只是一个问题,然后虚拟主机是否说支持 VPN 进行联系,或者说在特定端口 + 固定 IP 上联系某些数据库服务器是具体的细节,这些细节会根据您的需求或 ISP 的内容而有所不同事实允许。

那么什么和谁以及哪些端口被允许访问?嗯,这将取决于您的 ISP 和网站托管计划允许的内容 - 您必须检查他们是否允许托管网站“伸出”他们的网络托管计划。


推荐阅读