• ベストアンサー

外部の認証機能を利用したWebサービスについて

学校関係者です。 現在、学校内のAサーバ(Windows2000・Apache)でwebデータベースを運用しております。 このデータベースでは、検索結果にコンテンツへのリンクが表示されますが、コンテンツへのアクセスは、.htaccessにより校内のIPアドレスのみ許可しております。 今、このコンテンツの利用を特定の学外者に広げることを計画しております。 特定の学外者というのは、外部のBサーバで運用しているSNSサービス(学校が運用)の登録者です。Bサーバにアクセスした外部の利用者が、SNSサービスのID認証を受ければ、Aサーバで提供されているコンテンツを利用できるしくみを実現するための最も簡便な方法についてご教示ください。無知の発想で恐縮ですが、Aサーバへのアクセス要求が、Bサーバを通過することで、BサーバのIPとして認識されることが可能なら、.htaccessにBサーバのIPを追加するだけで、実現するかと思うのですが、そんなことはできないのでしょうか。 素人の質問で申し訳ございませんが、急ぎませんのでなるべくサルでもわかるレベルでご教示よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#257472
noname#257472
回答No.3

サルでもわかるレベル…とのことなので、横槍ですが補足します。 ANo.2さんは「フォワードプロキシ」とおっしゃっていますが「リバースプロキシ」を使うのが正解です。「リバースプロキシ」の流れとしては、 1.花子さんがBサーバにログインする 2.花子さんがBサーバのhttp://bserver.com/aserver/test.htmlにアクセスする 3.BサーバがAサーバのhttp://aserver.com/test.htmlにアクセスする 4.Bサーバはhttp://aserver.com/test.htmlの内容をhttp://bserver.com/aserver/test.htmlとして花子さんに送る といった感じで、質問者さんの考えていた内容そのままではないかと思います。Aサーバの.htaccessと、Bサーバの設定ファイルの簡単な修正で対応できると思います。 ANo.1さんの「シングルサインオン」は、Bサーバで認証した人をAサーバで認証するための本格的な仕組みです。細かい部分は違うかもしれませんが、おおざっぱな流れとしては、 1.花子さんがBサーバにログインする 2.続いて花子さんがAサーバに直接アクセスする 3.するとAサーバはBサーバに花子さんのことを問い合わせる 4.Bサーバが「花子さんは登録者です」とAサーバに回答する 5.Aサーバは花子さんのアクセスを許可する こんな感じです。AサーバBサーバともに修正が大きくなりますので、今回の目的には向かないと思います。

kazukichikun
質問者

補足

サルでもわかるご説明感謝致します。 内→外への代理であるプロキシとは逆(リバース)ということで、リバースプロキシなのですね。 恐縮ですが、あと少しだけ質問させてください。 「リバースプロキシ」の2→3への流れは、例えば、http://bserver.com/aserver/test.htmlのtest.html上に表示されたhttp://aserver.com/test.htmlへのリンクを花子さんがクリックするというようなイメージでしょうか。 あるいは、何らかの設定を元に、http://bserver.com/aserver/test.htmlからhttp://aserver.com/test.htmlへのURLの変換が行われるということでしょうか。 その場合、このアクセス要求は、(リバースプロキシの設定をしていれば)クライアント(花子さん)のIPではなく、BサーバのIPとして送られるというような理解でよろしいのでしょうか。 的外れな質問をしていたら、すいません。

その他の回答 (3)

noname#257472
noname#257472
回答No.4

ANo.3の例ですと、Bサーバに「http://bserver.com/aserver/…という要求が来たら、Bサーバがhttp://aserver.com/…を取得して、その内容を丸投げする」という設定をします。AサーバにアクセスするのはBサーバなので、Aサーバから見えるのはBサーバのIPアドレスになりますね。 アドレス(URL)の変換は通常行われませんが、Aサーバのコンテンツが相対URLで作成されていれば、問題なく動作すると思います。<a href="link.html">とか<img src="gazou.jpg">のような書き方ならOKです。<a href="http://aserver.com/dame.html">みたいな書き方だとNGです。 たとえば、http://aserver.com/test.htmlの中に<img src="gazou.jpg">というタグがあると、画像のURLはhttp://aserver.com/gazou.jpgですよね? 花子さんがhttp://bserver.com/aserver/test.htmlを要求すると、Bサーバがhttp://aserver.com/test.htmlを取ってきて、それをhttp://bserver.com/aserver/test.htmlとして花子さんに送ります。その中には<img src="gazou.jpg">というタグがありますが、ページのURLがhttp://bserver.com/aserver/test.htmlなので、画像のURLはhttp://bserver.com/aserver/gazou.jpgになります。 そして花子さんがhttp://bserver.com/aserver/gazou.jpgを要求すると、Bサーバがhttp://aserver.com/gazou.jpgを取ってきて、それをhttp://bserver.com/aserver/gazou.jpgとして花子さんに送ります。…無事に画像が表示されました。リンクも同様です。 保守性を考えて、通常は相対URLでコンテンツを作成していると思いますが、サイトのトップページへのリンクなど、絶対URLが使われやすい部分もありますので、AサイトのHTMLをチェックした上、一般公開前のテストでしっかり確認してください。まあ、多少間違っていても、Aサーバの.htaccessで弾かれるので、「見れない」だけで済みますけどね。

kazukichikun
質問者

お礼

お返事が遅くなり申し訳ありません。 この度は、初級者向けのわかりやすいご説明ありがとうございました。 まだ、わかったつもりの状態ですが、大変参考になりました。 「Bサーバに「http://bserver.com/aserver/…という要求が来たら、Bサーバがhttp://aserver.com/…を取得して、その内容を丸投げする」という設定」のところを、これから勉強したいと思います。

  • k17s
  • ベストアンサー率47% (9/19)
回答No.2

http://httpd.apache.org/docs/2.2/ja/mod/mod_proxy.html これでフォワードプロキシにしてみてはどうでしょう? クライアントの要求をApacheが代わりにリクエストして結果を返してくれるようになる・・・はず。 使ったことないんであんまわかんないんですけど・・・おそらくこういったことがしたいのでは?と思って書いてみました。

kazukichikun
質問者

お礼

ご回答ありがとうございます。 ANo.3さんに指摘いただいたリバースプロキシと併せて、リサーチしてみようと思います。

  • pakuti
  • ベストアンサー率50% (317/631)
回答No.1

シングルサインオンで実現出来そうな内容ですね。 cookieで十分と言えば十分ですが。。。。 作りが甘いと不正アクセスされる可能性があるので気をつけましょう 詳しく説明。。。。は 非常に長くなるので、ある程度ご自身で調べた上で 不明であれば、再度質問して下さい。

kazukichikun
質問者

お礼

迅速なご回答ありがとうございます。 ANo.3さんの回答に従い、ひとまず最も簡便そうな「リバースプロキシ」についてリサーチしてみたいと思います。

関連するQ&A

  • 外部smtpサーバーを利用したメールの送信方法

    お世話になります。 環境ですが、Linux(CentOs3.6)/php4.2.9、を使っています。 phpで、外部smtpサーバーを利用したメールの送信方法を調べています。 実現したい事は、 メインサーバーから、外部smtpサーバーAと外部smtpサーバーBを利用してメールを送信させたいと思っています。 方法をご存知の方がいらっしゃいましたらご教授下さい。

    • ベストアンサー
    • PHP
  • 外部webサーバー利用時のネームサーバーの設定について

    現在、自社サーバーにて、Mail/Webを運用していますが、 Webのみ外部サーバーをレンタルして運用することになりました。 メールは従来通り自社サーバーで処理し、ドメインも変更したくないので、 DNSの設定変更で対応したいと考えています。 プライマリDNSは自社サーバー、セカンダリDNSはOCNになっていますので、 設定を変更することは可能です。 対応方法として、wwwのAレコードを外部WebサーバーのIPに向け、 MXレコードを従来通りにし、シリアルの番号を増やせばいいのかなという 理解になっていますが、他に何か必要なことはあるのでしょうか? (Webサーバーの候補業者には、取得済みドメインを自社DNSから Aレコードで向けて運用してもいいかどうか、その対応のために 契約後IPを開示してもらえるかだけ確認しつつ選定中です) それと外部IPの場合、逆引きをどうすればいいのかがわかりません。 例えば、外部WebサーバーのIPがaaa.bbb.ccc.ddだった場合、 named.confには「zone "aaa.bbb.ccc.in-addr.arpa" IN {(省略)}」とし、 そこで指定したファイルの中では、 「dd IN PTR www.(ドメイン).」とすればいいのでしょうか? それともこの設定自体、不要なものでしょうか?? お分かりになる方、よろしくお願いいたします。

  • インターネットからの社内SNS利用

    現在、社内SNSを運用、または利用されている方への質問です。 貴方が運用、もしくは利用されている社内SNSは、インターネットを介した外部(例えば自宅、携帯など)からのアクセスは可能でしょうか? 私も現在、運用グループの一人として社内SNS(社内ネットワークのみ利用可能)の運用に携わっているのですが、 最近、「帰宅後にも家からアクセスしたい」といった声を頂くようになりましてその対応に悩んでおります。 もし対応を行うとすれば、 現在すでにインターネットからの接続が可能な自社内のサーバに設置して公開する予定です。 そこで、既に社内SNSを利用されている方々に、 皆さんの現状と問題点などをアドバイスとして教えて頂けたらと質問させて頂きました。 ちなみに、社内SNS内の情報は社員のプライベートな話題(mixiで交わされているような話題)が中心で、 業務詳細に関する話題はありません。

  • 外部のサーバーからwordpressを使いたい

    Aというレンタルサーバーを使用しています。 事情があり、Bというレンタルサーバーにwordpressを移転する事になりました。 ところが、Bというレンタルサーバーはデータベースが使えません。 そこで、wp-configの設定を変えてAというレンタルサーバーにアクセスして、データだけそこから読み込んで来たいと思っています。 しかし、ホスト名をAのIPアドレスに変更しただけではうまくアクセスする事ができないようです。 おそらくAのレンタルサーバーのphpmyadminの設定を変更する必要があるのと思うのですが… どのようにすればよろしいでしょうか?

  • 既設ADサーバーを外部認証SVとして利用したい

    Active Directoryによるユーザー認証に関して質問です。 私のスキルはWindows Server 2003でユーザーと固定・移動プロファイル、アクセス制限を付与したディレクトリを作成・管理したくらいです。 会社のイントラに接続しているパソコンは主幹部署が運用しているドメイン配下で、従業員(ユーザー)がPCにログオンする際はこれも主幹部署が運用しているActive Directoyのサーバーでユーザー認証しています。 今回、他部署でWORKGROUPで使用していたWindows Storage Server 2012もしくは2012 R2を譲り受けることになったのですが、同Servrで、主幹部署が運用しているActive Directoyのサーバーをユーザーの外部認証サーバーとして利用できるのでしょうか。 詳細は知識不足でわかりませんが、ユーザー認証の実現に対してWindows ServerとWindows Strage Serverに別途ソフトウェアの導入しはいものとします。 「主幹部署へ問い合わせては?」とご回答されたいとは思います。 主幹部署は初めは「可能」と言っていたのですが、今になって「可能かどうかは部署で調査して提案せよ」となってしまいました。 調査も何も主幹部署のサーバーの情報をもらえません。 他の情報は以下です。 ・主幹部署のWindows Serverは2012ではないらしい ・当部署のユーザー情報は主幹部署が所有しているユーザー情報の一部で内容は同じ ・IODATA社製などのNASの「Active Directory連携機能」では外部認証として理容できるらしい

  • PHPで外部サーバーのデータベースにアクセスは可能でしょうか?

    PHPで外部サーバーのデータベースにアクセスは可能でしょうか? データ量が多すぎて複数のデータベースに分けております。 またサーバーも変える必要があるためサーバーも複数に分けております。 サーバー1にデータベース1 サーバー2にデータベース2 サーバー3にデータベース3 がある状態で、サーバー4からPHPプログラムでデータベースにアクセスして、サーバー4に設置してあるホームページにデータを表示するプログラムを作りたい。 このような事が出来るのでしょうか? PHPプログラムが置いてある同一サーバー上のデータベースへのアクセスは出来たのですが、外部サーバーへのアクセスの仕方が解りません。。。 サーバーはXrea、さくらインターネットを使用しています。 PHPとMySQLを使用。 よろしくお願いします。

    • ベストアンサー
    • MySQL
  • ルーターの静的IPマスカレード機能を利用したサーバーの公開

    固定IPアドレスを1個取得しました。 この固定IPアドレスをルーター内蔵型ADSLモデムのADSL側インターフェースに設定しています。 サーバー機にはプライベートアドレスを割り当てて、このADSLモデムを経由してインターネットに接続しています。 インターネット側からサービス要求があった場合は、このADSLモデムの静的IPマスカレード機能を利用してサーバー機に転送しています。 今回、固定IPアドレス取得に伴いDNSサーバーをインターネットに公開しました。 DNSの設定は無事に終了し、インターネット側から自宅サーバーへのアクセスに成功しました。 しかし、なぜか自宅内からは自宅サーバーにアクセス出来なくなってしまいました。 恐らくDNSの設定を変更したことが原因と思われます。 以前までは、例えばwww.ninja.jpのDNS要求に対して192.168.1.130のように名前解決が行われサーバーにアクセスできたのですが、 今回、www.ninja.jpのDNS要求に対して200.200.200.200のように取得した固定IPアドレス(ルーターのアドレス)を返すように変更したのです。 普通に考えれば、その後ルーターのIPマスカレード機能により実際のサーバーにアクセス出来ると思っていたのですが、どうもうまくいきません。 なのでLAN内専用のDNSサーバーを用意し、LAN内から自宅サーバーを利用するときは、こちらのDNSを利用するしかないのかと考えています。 この運用ってどうでしょう。 かなり冗長な運用だと思うのですが。 ルーターの静的IPマスカレード機能を利用してサーバーを公開する場合、このような運用が限界なのでしょうか。

  • .htaccessファイルは外からのアクセスに対して認証するのでしょうか

    .htaccess(ベーシック認証)ファイルをあるフォルダーに置くと外部からのアクセスに対しては認証が機能して、システム内でのアクセスは自由にできるのでしょうか。 あるシステムがサーバー内で機能しているのですが、データフォルダーが外部から見れる常態にあります。これを改善しなければいけないのですが.htaccessファイルを突然置いても問題ないのでしょうか。 宜しくお願い致します。

    • ベストアンサー
    • CGI
  • FileMaker Serverの外部認証について

    FileMaker Serverの外部認証を使って、OS X ServerのOpen Directoryでクライアントアクセスの認証を行いたいのですが、上手く行かず困っています。 全くチンプンカンプンの状態だったのですが、マニュアルを見ながら行った操作を記載すると・・・ まず、FileMakerで作成したデータベースを外部認証が可能なように設定し直してホストさせました。 FileMakerアカウントでのアクセスは可能であることを確認。 FileMaker Serverのディレクトリサービスタブに、以下のように入力。 ディレクトリサーバー名:「サーバーのIPアドレス」 識別名:空欄 オプション情報:全て空欄 ログイン設定:Windows認証~は、チェック無し 匿名ログイン としました。 上の設定もなにか致命的に間違っている気がしてなりません。 というか、この設定の意味が分かっていません。 上手く登録出来ていれば、クライアント側のFileMakerで 「LDAPで一覧表示されるホスト」 に表示されるのではないかと思うのですが、待てど暮らせど出てこないので恐らく設定が上手く行っていないのだと思います。 どなたかこの設定方法が分かる方教えていただけませんでしょうか? ちなみにLDAPでの認証自体は、ドメインにログオンする際など正常に機能しています。 OS X Server側で何かLDAPの設定をしなければならないのでしょうか? それとも やはりFileMaker Serverの設定がおかしいのでしょうか? どうぞ、よろしくお願いいたします。

  • htaccessで特定のIPアドレスからしかアクセスできないようにする

    htaccessで特定のIPアドレスからしかアクセスできないようにする方法がありますが、そのIPを外部ファイルにまとめたいと考えております。 アクセス許可するIPの変更や追加などがあったときに、サーバー内にある全てのサイトに存在するhtaccessを1つ1つ変更するのは大変です。まとめたファイルを読み込むだけにしておけば、そのまとめたファイルを変更するだけで済むので便利だと考えております。 htaccess内で外部ファイルをincludeするような方法があるようなら教えて頂きたいです。 よろしくお願い申し上げます。