我的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
认为这会避免让请求在互联网上发布并返回,那么它应该会更有效率,但是而是停留在同一个子网上以进入网页(从而节省时间和资源)。
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
访问网站时会将数据库保留在同一子网上吗?或者它仍然会离开子网到达那里?此外,由于我有两个别名(例如,一个用于数据库发送电子邮件,一个用于数据库访问网页),是否会混淆事物?
答案 0 :(得分:1)
我不确定如果这不是主机的正确IP,我会添加“192.169.0.12 mail.mydomain.com www.mydomain.com”。这可能只会让事情变得更加混乱。
假设您可以从数据库服务器ping 192.168.0.12,请确保您的Web服务器也在侦听192.168.0.12地址。它可能只能侦听外部IP地址,在这种情况下,它会将HTTP 404返回给192.168.0.12 IP /接口上的每个请求。
在Apache上,httpd.conf文件会有
听xxx.xxx.xxx.xxx:80
这会让它只监听外部IP。
请注意,如果您的HTTP请求的目的是测试Web服务器的可用性,您可能最好保留原样。外部测试比本地测试更具有理解性。