- - PR -
別のサーバにあるファイル(DATA)にアクセスしたいですが。
1|2|3
次のページへ»
| 投稿者 | 投稿内容 | ||||||||
|---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-04-07 13:54
こんにちわ。
お世話になります。 まず環境がちょっと変わった環境です。 サーバーが二つあります。Aサーバー,Bサーバーです。 Aサーバーにはコンテンツのみ入れます。HTML,EXCELなど。。。 BサーバーにはJAVAクラスを入れます。 まず作りたいのはAサーバーのコンテンツにセキュリティをかけたいです。 普通のやり方ですが。。。(res.setStatus(res.SC_UNAUTHORIZED); で。。。) でもコンテンツのURLを隠すためにはURL欄にはサーブレット名のみ表示したいです。 GET方式で次に表示するファイル名はパラメータで持ちます。 A−>B(セキュリティ)−>Aの感じですね。 1.sendRedirectとかも考えてみましたがAのURLがばれちゃいますので。。(直接URLで打たれちゃだめです。) 2.RequestDispatcher rd = context.getRequestDispatcher(url); rd.include(req, res); 同じサーバではないと使えないですよね。 3.ソケットを使えばできそうな気がしますけど 常識的によろしいでしょうか。 別のサーバーとつなげてソースなどを読み込んできてBでAのコンテンツを表示する形です。 みなさんのご意見を聞かせてください。 よろしくお願いします。 [ メッセージ編集済み 編集者: minami 編集日時 2004-04-07 14:19 ] [ メッセージ編集済み 編集者: minami 編集日時 2004-04-07 14:56 ] | ||||||||
|
投稿日時: 2004-04-07 14:47
OSレベルでファイルにアクセスして、FileInputStreamから
ServletOutputstreamに流し込むとか。 各サーバのOSや環境が分からないので、具体的にどうするかは 書きようがないですが。 | ||||||||
|
投稿日時: 2004-04-07 14:50
ご返答有難うございます。
OSレベルでファイルにアクセスするってことはどういうことでしょうか。 教えていただけますか。 AサーバーからBサーバーのファイルをどうすればアクセスできますか。 もう一度ヒントお願いします。 | ||||||||
|
投稿日時: 2004-04-07 14:56
「サーバー」とは何を指していますか?ファイルサーバ?APサーバ(ServletEnginge)?
例えていうなら Tomcat が2つ動いていて、1つの Tomcat を隠したい ということですか? | ||||||||
|
投稿日時: 2004-04-07 15:02
ServletEnginge を介さないということです。
それを聞きたければ、きちんと情報を提示するべきです。 A、BサーバのOSの種類すら書いていないじゃないですか。 #そもそもそれは他人に聞くことか? AとBのネットワーク関係やファイルアクセス権などがわからないと本当に正しい 回答など出せないということがわかりますか? いろいろやりとりして、Bのポートが80しか開いていなかった、というオチも ありうるんですよ。 | ||||||||
|
投稿日時: 2004-04-07 15:04
説明が足りなかったですね。
申し訳ありませんでした。T.T もう一度説明させていただきます。 サーバーっていうのはPCのことです。 PCが二つです。 両方ともLinuxです。サーブレットを置くサーバー(B)はTomcatです。コンテンツサーバー(A)はサーブレットは動きません。 同じPCでやるならなんとかできそうですけど 今離れているPC(サーバー)で処理したいので。。。 どういうふうにすればいいでしょうか。 教えてください。 よろしくお願いします。 [ メッセージ編集済み 編集者: minami 編集日時 2004-04-07 15:05 ] [ メッセージ編集済み 編集者: minami 編集日時 2004-04-07 15:10 ] [ メッセージ編集済み 編集者: minami 編集日時 2004-04-07 15:50 ] | ||||||||
|
投稿日時: 2004-04-07 15:31
はじめまして。
A、Bともサーブレットが動くと言う前提でいいでしょうか。 ぱっと思いつくのは、A側でリクエストを受け取ったあとcommonsのHttpClient等を 用いてB側にHttpリクエストを発行、B側では接続元のIP等でアクセス制限を行う (セキュリティの確保)。 A側ではBからのレスポンスを受け取りクライアントに返す。 というのはどうでしょうか?B側のtomcatの設定でA以外からのアクセスを拒否するように しておけば安全だと思います。 他の分散アーキテクチャを用いても可能だと思いますがHTTPベースであればこの方法 が早いと思います。 | ||||||||
|
投稿日時: 2004-04-07 15:44
SKT様
丁寧な返答有難うございます。 実はシステムのことがよく分かりません。T.T A:コンテンツサーバーには多分サーブレットが動かない環境だと思います。 それでBサーバー(Tomcat)これは私が管理してるので確実です。 Aはただのapacheとかほかのコンテンツサーバーだと思います。 私が今作りたいのはですね。 AのコンテンツサーバーのFirst.htmlページからBのサーブレットが呼ばれてセキュリティ処理が終わってAの次のページSecond.htmlを表示したいですが。。 BのサーバーではAのsecond.htmlは見れないですよね。 sendRedirectなどを使いたいですけどURLがばれるので http://IP:8888/Second.htmlっていうURLがユーザーに見えるとログインなしでSecond.htmlが次回からアクセスできちゃいますよね。 なのでincludeとかforwardを使いたかったですけど 同じパソコンにはないのでどうしよもありません。 そこでBからAに接続してAのSecond.htmlのファイルを読み込んでBで出力したいですが その方法がわからないですよ。 ソケットとかを利用できるんでしょうか。 説明がめちゃくちゃですみません。 よろしくお願いします。 | ||||||||
1|2|3
次のページへ»
