You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

同区域AWS Web服务器与数据库服务器连接故障排查请求

跨VPC Web与数据库连接问题排查指南

先梳理下你的环境配置,方便针对性排查:

服务器配置

  • Web服务器:Windows Server 2012 R2,IIS 8.5,托管基于.NET 3.5的VB.NET应用
  • 数据库服务器:Oracle Linux 7.4,Oracle 12c Release 1,绑定弹性IP
  • AWS环境:两台服务器分属同一根账号下的不同VPC

接下来按网络层→数据库层→Web应用层的顺序逐步排查:


一、网络连通性排查(跨VPC核心重点)

因为两台机器在不同VPC,网络打通是连接的前提:

  • VPC互通配置检查:
    确认是否已创建VPC对等连接或通过Transit Gateway实现跨VPC通信:
    • 检查对等连接状态是否为active,双方VPC的路由表是否已添加对方VPC的CIDR段,目标指向对等连接/Transit Gateway
  • 安全组规则验证:
    • 数据库服务器安全组:入站规则需允许Web服务器所在VPC的CIDR段访问1521端口(Oracle默认端口),不要只加单个IP(除非Web服务器有固定弹性IP)
    • Web服务器安全组:出站规则需允许访问1521端口到数据库服务器所在VPC的CIDR段或其弹性IP
  • 网络ACL(NACL)检查:
    NACL是无状态规则,需同时配置入站和出站:
    • 数据库VPC的NACL:入站允许1521端口来自Web VPC的流量,出站允许对应返回流量
    • Web VPC的NACL:出站允许1521端口到数据库VPC的流量,入站允许对应返回流量
  • 弹性IP与基础连通性测试:
    在Web服务器上用PowerShell命令测试端口连通性:
    Test-NetConnection 数据库弹性IP -Port 1521
    
    或用telnet:
    telnet 数据库弹性IP 1521
    
    如果测试失败,优先回到VPC互通、安全组/NACL的配置排查

二、数据库端配置排查

网络通了之后,检查Oracle侧的服务配置:

  • 监听状态与绑定地址:
    在Oracle Linux服务器上执行命令查看监听状态:
    lsnrctl status
    
    确认监听绑定的是0.0.0.0(允许所有IP访问)或数据库实例的私有IP/弹性IP,而不是仅localhost。可查看$ORACLE_HOME/network/admin/listener.ora文件,确保LISTENER段的HOST配置正确
  • 数据库服务注册:
    执行命令确认数据库服务已注册到监听:
    lsnrctl services
    
    输出中需能看到你的数据库服务名,否则监听无法转发连接请求
  • Linux防火墙配置:
    Oracle Linux 7.4默认使用firewalld,临时关闭测试:
    sudo systemctl stop firewalld
    
    如果关闭后能连接,说明需要在firewalld中添加1521端口的允许规则:
    sudo firewall-cmd --add-port=1521/tcp --permanent
    sudo firewall-cmd --reload
    
  • 数据库用户权限:
    确认数据库用户有跨网络连接的权限,且账号未锁定:
    -- 授予连接权限
    GRANT CONNECT TO 你的用户名;
    -- 解锁账号(如果锁定)
    ALTER USER 你的用户名 ACCOUNT UNLOCK;
    

三、Web应用层配置排查

最后检查Web服务器和应用的配置:

  • 连接字符串验证:
    确认VB.NET应用的连接字符串格式正确,重点核对数据库地址(弹性IP)、端口、服务名:
    Data Source=(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=数据库弹性IP)(PORT=1521))(CONNECT_DATA=(SERVICE_NAME=你的数据库服务名)));User Id=你的用户名;Password=你的密码;
    
    可在数据库中查询服务名:
    SELECT service_name FROM v$services;
    
  • Windows防火墙配置:
    检查Web服务器的Windows防火墙是否允许出站访问1521端口,可临时关闭防火墙测试连接
  • IIS与.NET框架兼容性:
    确认IIS的应用程序池配置为对应.NET 3.5版本,且应用池权限足够访问网络资源

内容的提问来源于stack exchange,提问作者pravinsham

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:44:13