apache1.3.39をcygwinで動かしています

このQ&Aのポイント
  • apache1.3.39をcygwinで動かす方法とアクセス制限についての問題についてまとめます。
  • 自宅PCや他のIPアドレスからのアクセス時にベーシック認証が不要で閲覧できる問題が発生しています。
  • configファイルの記載に邪魔なパートがあるかどうか、またそれ以外に必要な設定があるのかを調査中です。
回答を見る
  • ベストアンサー

apache1.3.39をcygwinで動かしてます。

apache1.3.39をcygwinで動かしてます。 apacheのconfigファイルに http://www.sinnerthesinner.com/tech/post/152 にあるようなことをしたくてこの部分を追記しました。 ですが、思うようなアクセス制限ができません。 社内の自分のPCでipconfigするとIPアドレスは例えばAで、 apacheのaccess_logにもAのアドレスでアクセスログがはかれています。 なので、Allow from A とすると社内の自分のPCからアクセスするとベーシック認証なくサイトが閲覧でき、 自宅PCからアクセスした場合にはベーシック認証しなければ閲覧できないと思ってました。 しかし、自宅PCからアクセスした場合や他のIPアドレスからのアクセスでも、 ベーシック認証なく閲覧できてしまいます。 また、Satisfy Allにすると、IPアドレスがAであろうがなかろうがベーシック認証が必要となります。 つまり、参照サイトの Order allow,deny Allow from 192.168.1 Satisfy Any の部分が効いてないのではないかと思われます。 他に何か必要な設定があるのでしょうか? configファイルの他の記載が邪魔することがあるとすれば、どの部分なのでしょうか? よろしくお願いします。

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

  • ベストアンサー
  • maesen
  • ベストアンサー率81% (646/790)
回答No.1

>また、Satisfy Allにすると、IPアドレスがAであろうがなかろうがベーシック認証が必要となります。 おかしいですね。 この場合は、IPアドレスがA以外からはアクセス自体が出来ないはずですね。 また、Satisfy Anyにした場合の >しかし、自宅PCからアクセスした場合や他のIPアドレスからのアクセスでも、ベーシック認証なく閲覧できてしまいます。 このことから、Order及びAllowディレクティブが効いていないように思います。(Satisfyディレクティブは有効になっているようです) .htaccess ファイルなどで上書きされたりしていませんか。 また、該当部分の<Directory> ディレクティブについて提示できる範囲で記載されると原因の判明が早いかもしれません。

ratsbane
質問者

お礼

ありがとうございます。 httpsとhttpの両方を使っていることを書いてなくてすいません。 ちなみに、.htaccessファイルはnoneにしてもallにしても同じで、認識されてないようです。 今回の件は、httpsとhttpを併用する場合はうまくいかないんだろうと決めつけました。 とあるHPに同じ症状の人がいることを発見できましたが、解決策はないようでした。 ですので、別の方法で解消しました。 バーチャルホストを80と443に分けて、httpsとhttpのアクセスを切り分けました。

関連するQ&A

  • Apache Allow from に DDNS

    Apache 2.2を使用しています。 Confファイルを下記のように全てのアクセスを禁止し、特定のIPアドレス、DDNSのみ 閲覧可能に設定しています。 <Directory "/abcdefg"> Order Deny,Allow Deny from all Allow from X.X.X.X Allow from YYY.ddo.jp </Directory> ところが、IPアドレスの方はうまく閲覧できるのですが、DDNSの指定の方は閲覧することが できません。 下記の設定をhttpd.confには行いましたがダメでした。 HostnameLookups Off => HostnameLookups On 他に設定が必要なのでしょうか? それともAllow from にDDNSの設定はできないのでしょうか? どなたかご回答よろしくお願いします。

  • ipad、iphoneでグループウエアアクセス

    現在グループウエアサイボウズについて、社内でないとアクセスできないように htaccessでipによるアクセス制限をかけております。 外出中の営業マンがグループウエアを見れるようにすることが目的で、 ipad、iphoneで社内グループウエアにアクセスする方法について探しております。 これを実現する方法として、サイボウズ側が提供しているサービスに、「リーモートサービス」という中継サーバによる認証でセキュアな閲覧を可能にするサービスがありますが、コストに見合わず、そちら以外の方法が無いか探しております。 ポケットWifiで接続し、Wifiに接続した際に表示されるipをhtaccessに追加しましたが、表示されませんでした。 内容も念のため以下にアドレスは*で伏せて表記します。 <Limit GET> Order deny,allow Deny from all Allow from ***.***.***.** Allow from ***.***.***.*** Allow from ***.***.***.*** Allow from ***.***.***.*** Allow from ***.***.***.*** Allow from ***.***.***. Allow from ***.***.* Allow from ***.***.*.*** Allow from ***.***.*.*** </Limit> 下から3番目にルータ 下から2番目にipadに表示されたIPアドレス 下から1番面にiphoneに表示されたIPアドレス 上記の情報をそれぞれ設定しております。 設定方法に不備があるのか、そもそも上記方法では不可能なのか良く解らず頓挫して困っております。 又、上記が無理な場合、 社内ならLANに繋ぎさえすれば閲覧できるの状況を維持して 社外で社内の営業マンのipadやiphoneからのみ閲覧可能にする良い方法はありませんでしょうか? 固体識別の情報から閲覧許可を追加出来ないかと、 MACアドレスによる認証等も調べたのですが、ipアドレスによる認証をしている状況下で Ipadやiphoneから見れるようにするに認証を追加するのはちょっと難ありかな?と思いこちらも頓挫しております。 宜しくお願い致します。

  • ApacheのIP制限について

    ApacheのIP制限について CentOS5とWindowsVista両方のOSでApacheの勉強をしている者です。 ApacheのバージョンはWindowsVistaなら2.0.63で、CentOS5は2.2のを試しています。 ところで、「特定のアクセス元に対してアクセスを禁止する」の部分ですが、 ------------------- Order allow,deny Allow from all Deny from xxx.xxx.xxx.xxx ------------------- の部分にxxx.xxx.xxx.xxxを WindowsVistaでは、192.168.1.28といったapacheをインストールしている本機マシンをアクセス制限に試してみようと思いましたが、うまくいきません。 また、友だちのサーバのCentOS5で、私の契約しているプロバイダーのIPをアクセス制限しようと思いましたが、それでも上手くいきませんでした。 CentOSの方には色々と試してみて、mod_access.soをインストールしてみましたが、それでもうまくいきません。 ただし、逆に ------------------- Order deny,allow Deny from all ------------------- を指定すると正常にアクセス制限することはできますが、私が望んでいることは特定のIPに対してアクセス制限をかける方法を知りたいのです。 何かお分かりの方は、ご回答をお願いします。

  • apache2でのallow,deny指定について

    Linux+Apache2+PHP+MySQLの組み合わせでWebサーバを運用しています。 海外向けのサービスのため、 日本国内からのWebアクセスを遮断することになりました。 日本国内のIPアドレス表はあるので、 httpd.conf内で <Directory ~> Order allow,deny Allow from all Deny from xx.xx.xx.xx/xx (以下国内IPアドレスが続く) </Directory> としてIPアドレスにより遮断しました。 これ自体は問題なく稼働しています。 ただ、日本国内からも運用上いくつかの拠点で閲覧できる必要があり、それらのIPアドレスに対してallow指定をしたいのですが、どうもうまくいきません。 ようは order allow,deny,allow のような感じでできればいいのですが、そういう指定はできないようです。 <Directory>ディレクティブを下で再定義したり、別に.htaccessで定義してallowしてみたりしたのですが、そうするともともとあったdeny指定がクリアされてしまうようです。 もちろん、deny fromするサブネットを細かく分けて記述すればいいのですが、今後IPアドレスの追加や削除が発生しうるため、あまり国内IPアドレス表の部分はいじりたくないのです。 また、deny from allでその後海外のIPアドレスをallowするというのは、IPアドレス表が膨大になりすぎるので、これも避けたいです。 理想的には、httpd.confで国内を遮断した後、別ファイルで許可するIPアドレスを記述できればと思っています。 なお、PHPアプリケーションのほうで遮断するというのはパフォーマンスが劣化するため考えておりません。 現在は、仕方なくサブネット単位で #Deny from xx.xx.xx.xx/xx みたいにコメントアウトして運用しています。 「絶対に国内からは見られては困る」というほどでもないので、まあこれでもいいかと思っていますが、 もっとスマートなやり方はないかと思いご質問させていただきました。 なにとぞよろしくお願いいたします。

  • RailsをApacheで動かす

    Rails初心者です。 WindowsXP環境でRailsの勉強をしているのですが、 WEBrickからApacheにサーバを乗り換えようとしたのですが うまくいきません。 ApacheのConfigファイルには最後に <VirtualHost *:80> ServerName rails DocumentRoot /work/depot/public/ ErrorLog /work/depot/log/server.log <Directory /work/depot/public/> Options ExecCGI FollowSymLinks AllowOverride all Allow from all Order allow,deny </Directory> </VirtualHost> を追加して、(「RailsによるアジャイルWebアプリケーション開発」を参考にしました) Apacheを起動してlocalhost経由でアクセス(ブラウザでhttp://localhost/store/へ)したのに、 500エラーが出ました。(Apacheのエラー) /work/depot/log/server.logを見たところきちんとエラーログが出ていて、 /work/depot/public/.htaccess: Invalid command 'RewriteEngine', perhaps mis-spelled or defined by a module not included in the server configuration とのことです。このエラーにどうしたら対処できるかわかりません。 FastCGIにしようかとも思ったのですがWindows環境でのインストール法もわからず途方にくれてます。 とりあえずCGIで動かす方法をどうかご伝授ください。

  • httpd.confでIPアドレスによる制限を書いたら、長くなってしまいました→短くしたい

    サーバー管理の初心者です。 携帯電話からのみアクセスできるディレクトリをいくつか作りたくて、携帯各社のIPアドレスを取得してきました。 そのうちAU (Ezweb)のIPアドレスは数が多くて、Apacheのhttpd.conf がとても長くなってしまいました。 今の状態は、例えば /var/www/html/abcd/ /var/www/html/efgh/ /var/www/html/ijkl/ という3つのディレクトリは携帯専用にしたいと思った場合、 <Directory "/var/www/html/abcd"> …(略) Allow From 123.456.789.12 Allow From 123.456.789.13 Allow From 123.456.789.14 Allow From 123.456.789.15 ・ ・ ・ ・ というようにIPアドレスをずらーっと並べて書いています。 結果、Apacheの設定ファイルがものすごい長さになってしまいました。 これをどうにか短くしたいのですが、どのような方法がありますでしょうか? 例えばこのIPアドレス一覧を外部ファイルに持たせたり、そういうことは可能でしょうか? IPアドレスを範囲で指定するとか、そういう書き方が良いでしょうか? Allow From 123.456.789.12 ~ Allow From 123.456.789.50 を一行で書くとしたらどのような書き方が良いでしょうか? よろしくお願いいたします。

  • 社内のPC(Win XP pro)にApacheをダウンロードし、社内

    社内のPC(Win XP pro)にApacheをダウンロードし、社内のみで閲覧できるサイト作成しようとしています。 そこで、社内のPCに、ApacheWebサーバをダウンロードしました。 しかし、アドレスに、localhost、もしくは、127.0.0.1と入力しても我社のホームページが表示されてしまいます。 そこで、インストールする際に、ドメインにコンピュータのホスト名を入力しました。 ダウンロードしたPCでは、そのPCのIPアドレス(プライベートIPアドレス)を入力するとApacheの「It Works」と表示され、正常に表示されるのですが、他のPCからはApacheをインストールしたPCのIPアドレスを入力しても表示されません。 以前に、マイクロソフトのIISでWebサーバをたてたときにはFireWallの設定で閲覧できました。 今後のことを考えると、やはりApacheでWebサーバをたてたいと思っています。 社内のネットワーク内でApache Webサーバで他のPCからも閲覧できるようにするやり方を知っていればご教授お願いいたします。 また、参考になるサイトなどがあればお願いします。

  • apacheの認証制限の記述について

    apacheについては超初心者です。 特定のIPにのみアクセスできるページを作成したいと思っています。 Order allow,deny Allow from all Allow from aaa.bbb.ccc aaa.bbb.dd1 aaa.bbb.dd2 aaa.bbb.dd3 というように連続したIPとそうでないIPが混在しています。 上記の場合、連続したIPをより簡略的に記述する方法 (たとえば、aaa.bbb.cc1~aaa.bbb.cc5) があれば教えて下さい。 もっといろいろ図書を読むなり、ネットで調べるなりすればよいのかもしれませんが、よろしくお願いします。

  • Apache 2.2.4 のログ。

    Apache 2.2.4 の access.log にアクセスもとの ip アドレスが表示されなくなってしまったのですが、これは、2.2.4 の仕様なのでしょうか? ちなみの ZoneAlarm というファイアーウォールを入れているのですがそれが原因なのでしょうか? わかる方、書き込みお願いします。

  • IPアドレスでアクセスを制限するには?

    環境は、OSはLinux Fedora10で、Apacheは2.2.10です。 「/var/log/httpd/error_log」に大量の(数秒毎)の不正と思えるアクセスが記録され、 そのIPアドレスからのアクセスを制限したいと考えています。 「/etc/httpd/conf/httpd.conf」には以下のように書いています。 <Directory "/var/www/hogehoge"> Order allow,deny Allow from all Deny from 123.45.67.89 123.45.67.90 234.45.67.89 111.222.33.44 ... </Directory> 「Deny from」の行のIPアドレスが多いせいか、HTTPDを再起動しようとすると、エラーが発生し失敗してしまいます。 (IPアドレスは1000件以上あります。IPアドレスを少なくすると、何も問題なくHTTPDは起動できます。) できれば、「Deny from」の行のIPアドレスを外部ファイルから呼び出したり、変数に定義してすっきりさせたりしたいのですが、どのようにすればよいのでしょうか。 (他にもよい方法があったら、教えてください。) よろしくお願い致します。