Linux/甲骨文数据库 : how to access website in same subnet using local IP address?

标签 linux oracle hosts-file

我的 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 错误,这让我认为它没有到达正确的网页。

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

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

192.168.0.12 mail.mydomain.com

如果我还包含网址,例如

192.168.0.12 mail.mydomain.com www.mydomain.com

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

最佳答案

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

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

在 Apache 上,httpd.conf 文件应该有

听 xxx.xxx.xxx.xxx:80

这将使它只监听外部 IP。

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

关于Linux/甲骨文数据库 : how to access website in same subnet using local IP address?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26878408/

相关文章:

正则表达式查找连续的单词

python - 如何在virtualenv中使用Pacman安装的NumPy?

java - 我可以使用 Netbeans 编辑 Oracle 数据库上的 Java 源代码吗?

caching - 阻止Chrome缓存网站的DNS记录

c# - 如何清除 System.Net 客户端 DNS 缓存?

c - Linux:从蓝牙 LE 接收数据

linux - 找出哪些脚本在 linux 上的/tmp 文件夹中创建文件

python - 数据库错误 : ORA-00911: invalid character

oracle - Oracle中表名的最大长度是多少?

c# - 如何更改 Windows 程序中的主机文件?