私の Oracle 11.2 データベース スキーマには、私の Web サイトの Web ページを数分ごとに照会するスケジュールされたジョブがあります。データベースと Web サーバーは 2 台の物理 Linux マシンで、隣り合って配置されており、ローカル IP アドレスは 192.168.0.11 (データベース) と 192.168.0.12 (Web サーバー) です。同じサブネット上の 2 台のサーバーを直接リンクする RJ-45 ケーブル クロスコネクトがあります。
http://xxx.xxx.xxx.xxx/path/to/webpage
外部 IP アドレスである Web アドレスを入力するxxx.xxx.xxx.xxx
と、問題なく動作します。xxx.xxx.xxx.xxx
に置き換えてもうまくいきwww.mydomain.com
ます。
ただし、これにより、リクエストがインターネット上に出て戻ってくるのを回避し、同じサブネットにとどまってWebページにアクセスする(したがってxxx.xxx.xxx.xxx
、192.168.0.12
時間とリソースを節約します)。
req := UTL_HTTP.BEGIN_REQUEST('http://192.168.0.12/path/to/webpage');
試してみると、404 エラーが表示され、正しい Web ページに到達しなかったと思われます。
hosts ファイルを変更するか、その他の方法でクエリを同じサブネットに保持できますか?
現在のホスト ファイルには、電子メール サーバーのエイリアスが既に含まれています。
192.168.0.12 mail.mydomain.com
次のようなWebアドレスも含める場合
192.168.0.12 mail.mydomain.com www.mydomain.com
ウェブサイトにアクセスするときに、データベースを同じサブネットに保持しますか? それとも、そこに到達するためにサブネットを離れますか? また、2 つのエイリアス (たとえば、データベースがメールを送信するためのものと、データベースが Web ページにアクセスするためのもの) を取得したため、混乱することはありませんか?