【问题标题】:Linux/Oracle db: how to access website in same subnet using local IP address?Linux/Oracle db:如何使用本地 IP 地址访问同一子网中的网站?
【发布时间】:2014-11-12 02:46:47
【问题描述】:

我的 Oracle 11.2 数据库架构有一个计划作业,每隔几分钟就在我的网站上查询一个网页。数据库和 Web 服务器是两台物理 Linux 机器,它们彼此相邻,具有本地 IP 地址 192.168.0.11(数据库)和 192.168.0.12(Web 服务器)。有一个 RJ-45 电缆交叉连接直接连接同一子网上的两台服务器。

如果我输入网址http://xxx.xxx.xxx.xxx/path/to/webpage,其中xxx.xxx.xxx.xxx 是外部IP 地址,一切正常。如果我将xxx.xxx.xxx.xxx 替换为www.mydomain.com,事情也很顺利。

但是,我认为如果我可以将 xxx.xxx.xxx.xxx 重写为 192.168.0.12 会更有效,因为这样可以避免请求在 Internet 上发出并返回,而是留在相同的子网访问网页(从而节省时间和资源)。

req := UTL_HTTP.BEGIN_REQUEST('http://192.168.0.12/path/to/webpage');

当我尝试这样做时,我收到 404 错误,这让我认为它没有访问正确的网页。

我可以通过修改主机文件或其他方式将查询保留在同一子网上吗?

我当前的 hosts 文件已经包含了电子邮件服务器的别名,即:

192.168.0.12 mail.mydomain.com

如果我还包括网址,例如

192.168.0.12 mail.mydomain.com www.mydomain.com

在访问网站时是否会将数据库保持在同一子网中?还是它仍然会离开子网到达那里?另外,现在我有两个别名(例如,一个用于数据库发送电子邮件,一个用于数据库访问网页),是否会混淆?

【问题讨论】:

    标签: linux oracle hosts-file


    【解决方案1】:

    如果这不是主机的正确 IP,我不确定我是否会添加“192.169.0.12 mail.mydomain.com www.mydomain.com”。这可能只会让事情变得更加混乱。

    假设您可以从 DB 服务器 ping 192.168.0.12,请确保您的 Web 服务器也在侦听 192.168.0.12 地址。它可能只监听外部 IP 地址,在这种情况下,它将向 192.168.0.12 IP/接口上的每个请求返回 HTTP 404。

    在 Apache 上,httpd.conf 文件会有

    听 xxx.xxx.xxx.xxx:80

    这将使它仅在外部 IP 上侦听。

    请注意,如果您的 HTTP 请求的目的是测试 Web 服务器的可用性,您最好保持原样。外部测试比本地测试更全面。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-10-05
      • 1970-01-01
      • 2018-01-28
      • 2011-03-16
      • 1970-01-01
      • 1970-01-01
      • 2015-05-20
      • 2014-06-24
      相关资源
      最近更新 更多