前提・実現したいこと
CentOS6 - apache2.2環境に、WebDAV環境を作成しています。
WebDAV接続ソフト(CarotDAV)でアクセスした際、403 Forbiddenエラーが発生し、改善の糸口が見つけられずにおります。
エラーを取り除くため、お気づきの点がございましたらご教示頂ければ幸甚に存じます。
発生している問題・エラーメッセージ
windows10の作業端末から、WebDAV接続ソフト(CarotDAV)でhttpアクセスすると、403 Forbiddenエラーが発生します。
(chromeでも同様です)
###apacheのエラーログ
[Wed Feb 06 21:10:12 2019] [error] [client 10.10.10.100] client denied by server configuration: /www/foo.jp/webdav/daily
クライアントがサーバー構成によって拒否されました
該当のソースコード
###ディレクトリの定義
ディレクトリ | オーナー | 権限 |
---|---|---|
/www/foo.jp/webdav/ | usr1 | 775 |
/www/foo.jp/webdav/daily/ | usr1 | 775 |
/www/foo.jp/webdav/ecDaily/ | usr1 | 775 |
###httpd-vhosts.conf(抜粋)
<VirtualHost *:80> ## 同居するウェブシステム用の設定。あまり触りたくない場所 ここから → DocumentRoot /www/foo.jp/htdocs ServerName 10.10.10.100 ErrorLog logs/error_foo.jp_webdav CustomLog logs/access_foo.jp_webdav customlog KeepAlive On <Directory /www/foo.jp/htdocs> AllowOverride All Options FollowSymLinks Order Allow,Deny Allow from env=usr1 Allow from env=usr2 Allow from env=seg1 Allow from env=local </Directory> ## ← ここまで ################################################# # CarotDAVでアクセスし、ファイルを格納したいディレクトリ Alias /webdav/daily /www/foo.jp/webdav/daily Alias /webdav/ecDaily /www/foo.jp/webdav/ecDaily <Directory /www/foo.jp/webdav> # 参照先ディレクトリ Dav On # WEBDAVを使用する AllowOverride All # すべての設定の変更を有効にします。 Options FollowSymLinks # シンボリックリンクファイルを認識させる Satisfy All # ホストによる制御とユーザ認証による制御を両方認める Order Allow,Deny # 全てのホストからのアクセスを拒否する Allow from env=usr1 # 但し、usr1からのアクセスなら許可する Allow from env=usr2 # 但し、usr2からのアクセスなら許可する Allow from env=seg1 # 但し、seg1からのアクセスなら許可する AuthType Digest # 認証の仕組みを設定する AuthName "DAV-ul" # パスワードファイルにある領域名 AuthUserFile /www/foo.jp/.htdigest # パスワードファイルの格納場所 <LimitExcept GET OPTIONS> # 指定されたもの以外の HTTP メソッドにアクセス制御を制限する require valid-user # ユーザーが誰であろうと、入力したIDとパスワードが合っていればアクセスできる </LimitExcept> # </Directory> # ## 同居するウェブシステム用の設定。あまり触りたくない場所 ここから → # Tomcatプロキシ判定 RewriteEngine ON RewriteCond /www/foo.jp/htdocs%{REQUEST_URI} -d RewriteCond /www/foo.jp/htdocs%{REQUEST_URI}/index.html -f RewriteRule ^(.*)$ - [L] RewriteCond /www/foo.jp/htdocs%{REQUEST_URI} -f RewriteRule ^(.*)$ - [L] RewriteCond %{REQUEST_URI} !^/webdav/ RewriteRule ^/(.*)$ ajp://localhost:9009/bo/$1 [P,L] # プロキシ関連設定 ProxyPassReverse / /bo/ ProxyPassReverseCookiePath /bo/ / ProxyPassReverse / http://10.10.10.100/bo/ ## ← ここまで ################################################# <Location /> Order Allow,Deny Allow from env=usr1 Allow from env=usr2 Allow from env=seg1 Allow from env=local </Location> </VirtualHost>
###.htdigest
usr1:DAV-ul:xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
###WebDAV接続ソフト(CarotDAV)の設定値
項目 | 値 | 備考 |
---|---|---|
URI | http://10.10.10.100/webdav/daily | 接続対象ディレクトリ |
username | usr1 | サーバーにも存在するユーザ |
password | yyyyyyyy | usr1がサーバにログインする際のパスワード |
その他、welcome.confは0byteです。
試したこと
2.5日悩み、トライアンドエラーを繰り返した内容を下記に挙げます。
- WebDAV接続ソフトでの接続ユーザーをrootで接続
⇒403エラーが出る状況や、エラー内容はusr1ユーザーでアクセスした際と同様
- ディレクトリのアクセス権確認及び見直し
⇒問題は無いと思われます
-
<Directory>内の設定値を解読
-
ファイアウォールやポートフォワード設定の確認
⇒結果、問題ありません
- vhosts.conf内の下部にある<Location>の設定を、以下のものに差し替え
⇒うまくいかなかったので、検証後に削除
ProxyPass ajp://localhost:9009/ Order allow,deny Allow from all
- vhosts.confの編集都度、apache-tomcatを再起動
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
WebDAVに接続できるのは、VPN内からの接続に限定しています。
この環境には、WebDAV環境の他、3つのウェブサイトのアプリサーバー環境を構築しており
それぞれバーチャルホストでアクセスを振り分けています。
使用しているソフト | version |
---|---|
CentOS | 6 6.7 |
Apache | 2.2.15 |
Tomcat | 8.0.32 |
CarotDAV | 1.15.5 |
何卒、よろしくお願いいたします。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/02/07 06:38
2019/02/07 06:45 編集
2019/02/07 07:16