人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

社内で全文検索のFESSをWindows7 professionalにインストールして使用していますが、特定のPCからのみアクセス出来るように制限を掛けたいのですが、設定方法をご存知の方がいましたら、ご教示お願いします。


●質問者: gontakun_55
●カテゴリ:コンピュータ インターネット
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● a-kuma3
●200ポイント ベストアンサー

「特定のPCからのみ」というのは、IPアドレスで制限をかけられれば良いのでしょうか。

FESS は、Tomcat 配下で動いているようなので、Tomcat の機能で制限ができます。

FESS の conf/server.xml は、以下のような内容になっていると思います。
https://github.com/codelibs/fess-cloud/blob/master/src/fess/conf/server.xml

ファイルの末尾の方にある Host タグに、以下のような追加をしてください。

<Host name="localhost" ...>
 ...

 <!-- ここから -->
 <Valve className="org.apache.catalina.valves.RemoteAddrValve"
 allow="^192\.168\.1\.10$" />
 <!-- ここまでを追加 -->
</Host>

上記の設定では、IPアドレスが 192.168.1.10 からのアクセスだけを許します。
設定を変更したら、Tomcat を再起動してください。


gontakun_55さんのコメント
サブネットで指定する場合はどう記載すればよいでしょうか? それと、FESSのフォルダにconf/server.xml が無いのですが・・・・

a-kuma3さんのコメント
お使いの FESS って 11.3.1 とかでしょうか。 Tomcat は使っているようなんですが、eclipse のプラグインを使っているみたいで...

gontakun_55さんのコメント
FESS11.3.1を使用しています。 eclipseのプラグインだと設定は出来ないのでしょうか? 宜しくお願いします。

gontakun_55さんのコメント
それか、server.xmlが付属する下位バージョンを使用するしかないんですかね?

a-kuma3さんのコメント
>> それか、server.xmlが付属する下位バージョンを使用するしかないんですかね? << それも、何だかな、って感じですよね。 eclipse で Tomcat プラグインを使うときでも、server.xml は作るのですが、何か仕掛けがあるんですよね、きっと。 なので、ちょっとソースを見てたりします。

a-kuma3さんのコメント
ソース、見ました。 [https://github.com/dbflute-session/tomcat-boot/blob/master/src/main/java/org/dbflute/tomcat/TomcatBoot.java:title=TomcatBoot]というクラスを使って Tomcat の設定をしているようなのですが、lib/classes/tomcat_config.properties に書いてある FESS 11.3.1 では、Tomcat の起動に [https://github.com/dbflute-session/tomcat-boot:title=tomcat-boot] を利用しています。 これは、本家の Tomcat に皮をかぶせたような感じで、最終的には org.apache.catalina.startup.Tomcat を起動しているのですが、回答に書いたような記述を反映させるロジックがありません(プログラムを書けばできます)。 https://twitter.com/jflute/status/650368933267046400 ↑は、tomcat-boot の作者のツイートだと思われますが、こんな感じのようです。 パスを設定する辺りは、古くて推奨されてない API を使ってたりするので、ここら辺りには興味がなさそう。 # dbflute という OSS 自体はちょいちょい更新されているようです ちなみに、FESS を動かしているサーバの OS は何です?

a-kuma3さんのコメント
>> パスを設定する辺りは、古くて推奨されてない API を使ってたりする << これは、うそ。ぼくの勘違いです。

gontakun_55さんのコメント
OSはWindows7 Professional 32bitになります。

a-kuma3さんのコメント
自分使いのパソコンに入れた FESS を限定した誰かに使わせる、みたいな感じですかね。 Windows ファイヤーウォールで制限がかけられると思います。 サブネットでの指定はできなくて、ひとつずつリモートコンピュータを定義する必要はありますが。

gontakun_55さんのコメント
ファイル共有サーバーに入れて、同じサブネットのPC(200台以上)に使用させたく、しかし、他のサブネット(複数)からはアクセスさせたくないんですね。開発案件の資料があるので、開発以外にはアクセスさせたくない感じです。 やはり、前のバージョンを使うしかないですかね? たぶん、有料版なら可能なのかな?

a-kuma3さんのコメント
200台もあると、ちょっと大変ですね。 http://fess.codelibs.org/ja/ の「商用サポート」のところには、 >> <u style="color:red;">Fess のカスタマイズ</u>や導入・構築などのサポートサービスが必要な場合は、 << とあるので、お金を払えば行けると思います。 FessBoot ってクラスの変更だけで、できるはず。 設定をファイルから読み込んで、となると、まあそれなりの工数に、という感じでしょうか。 http://fess.codelibs.org/ja/support-services.html を見ると、 >> 個別要件によるカスタマイズ開発 (Fess プロジェクトでは汎用的な要件には対応しますが、個別と思われる要件は対応しません) << とあるので、アクセス制限は以前の FESS なら対応してたわけだし、汎用的な要件でもあるので、タダでやってくれたりして <tt>:-)</tt>

gontakun_55さんのコメント
個別要件もサポートサービス契約したらっぽいですね。 う?ん、以前はHyperEstraierを使ってたんですが、こっちの方が色々と簡単でいいなと思ったんですが、やはり必要なところは有料でって感じですよね。 古いバージョンで試してみます。 色々と調べて頂いてありがとうございました。 大変助かりました!

gontakun_55さんのコメント
あ、ついでで大変申し訳ないのですが、 192.168.24.0/22 上記を正規表現で表すにはどうすればよいでしょうか? それと、allowにサブネットで指定は出来ますでしょうか? 宜しくお願いします。

a-kuma3さんのコメント
>> 192.168.24.0/22 << えーと、22ビットだから、192.168.24.1 から 192.168.27.255 までですか。 だとすると、正規表現では、こんな感じになります。 >|| ^192\.168\.2[4-7]\.\d{1,3}$ ||< この正規表現を RemoteAddrValve の allow に指定すると、上記のサブネットにマッチするクライアントだけ接続を許可することになります。

a-kuma3さんのコメント
正確に言えば、255 までじゃなくて 254 まででしたね <tt>(^^;</tt>

gontakun_55さんのコメント
早速のご返答ありがとうございます! 大変勉強になりました! 正規表現は使った事が無かったので、これから勉強してみようと思います! 色々ありがとうございました!

質問者から

サブネットで指定する場合はどう記載すればよいでしょうか?
それと、FESSのフォルダにconf/server.xml が無いのですが・・・・


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ