プロジェクト

全般

プロフィール

WebDav » 履歴 » バージョン 3

健二 酒井, 2019/07/03 15:13

1 1 健二 酒井
# WebDav
2 1 健二 酒井
3 1 健二 酒井
## 概要
4 1 健二 酒井
5 1 健二 酒井
HTTP 1.1を拡張したプロトコル。ファイルの編集とか共有とかを扱うために使ったりする。
6 1 健二 酒井
ちなみにMicrosoft製らしい。
7 1 健二 酒井
8 1 健二 酒井
### 実装製品
9 1 健二 酒井
10 1 健二 酒井
IISとかApacheとかいろいろとサーバ側実装があるらしい。
11 1 健二 酒井
Windows 10だとエクスプローラーがWebDavクライアントになる。標準で扱えるので便利。
12 1 健二 酒井
CentOS 7標準のパッケージで提供されるApache httpdだとWebDav用モジュールもついてる。
13 1 健二 酒井
設定のサンプルもある。@/usr/share/doc/httpd-2.4.6/httpd-dav.conf@に保存されている。
14 1 健二 酒井
15 1 健二 酒井
### 今回使った目的
16 1 健二 酒井
17 1 健二 酒井
自分のメモ帳とか、ノートとかウラガミとかに取ったメモをまとめるファイルを一か所で管理したいなっていう欲求から。
18 1 健二 酒井
19 3 健二 酒井
### レシピ
20 1 健二 酒井
21 3 健二 酒井
#### プライベートなディレクトリ
22 3 健二 酒井
23 1 健二 酒井
「自分だけが見れる、アクセス制限をかけたディレクトリが欲しいな」と思って作業した話。一工夫必要だった。
24 1 健二 酒井
25 1 健二 酒井
特定のディレクトリ(以下uploadよぶ)をWebDav用ディレクトリとして公開するんだけど、
26 1 健二 酒井
サンプルの設定だと認証はこんな感じ。
27 2 健二 酒井
28 1 健二 酒井
```
29 1 健二 酒井
    # Allow universal read-access, but writes are restricted
30 1 健二 酒井
    # to the admin user.
31 1 健二 酒井
    <RequireAny>
32 1 健二 酒井
        Require method GET POST OPTIONS
33 1 健二 酒井
        Require user <user_name>
34 1 健二 酒井
    </RequireAny>
35 1 健二 酒井
```
36 1 健二 酒井
37 1 健二 酒井
「これだとupload以下のファイルをだれでも見れるじゃん!」思い認証の設定を変更した。
38 2 健二 酒井
39 1 健二 酒井
```
40 1 健二 酒井
    Require user <user_name>
41 1 健二 酒井
```
42 1 健二 酒井
43 1 健二 酒井
しかしこうすると、エクスプローラーからWebDavに接続できない。
44 1 健二 酒井
理由はエクスプローラーがアクセスしに行くとき、<user_name>になっていないから。
45 1 健二 酒井
46 1 健二 酒井
```
47 1 健二 酒井
xxx.xxx.xxx.xxx - - [02/Jul/2019:16:54:07 +0900] "OPTIONS /uploads HTTP/1.1" 401 381
48 1 健二 酒井
xxx.xxx.xxx.xxx - - [02/Jul/2019:16:54:07 +0900] "OPTIONS /uploads HTTP/1.1" 401 381
49 1 健二 酒井
xxx.xxx.xxx.xxx - - [02/Jul/2019:16:54:07 +0900] "OPTIONS /uploads HTTP/1.1" 401 381
50 1 健二 酒井
xxx.xxx.xxx.xxx - - [02/Jul/2019:16:54:07 +0900] "OPTIONS / HTTP/1.1" 200 -
51 1 健二 酒井
xxx.xxx.xxx.xxx - - [02/Jul/2019:16:54:07 +0900] "PROPFIND / HTTP/1.1" 405 226
52 1 健二 酒井
```
53 1 健二 酒井
54 1 健二 酒井
認証のダイアログ出る前にこのアクセスをしている走っているのが原因。うーむ。
55 1 健二 酒井
しょうがないので
56 1 健二 酒井
57 1 健二 酒井
- uploadのアクセス制限は当初のものに戻して誰でも見られるようにする。
58 1 健二 酒井
- upload/privateを作成して、そこへのアクセスを制限、upload/privateだけ使うという運用で回避。
59 1 健二 酒井
60 1 健二 酒井
upload/privateのアクセス制限は以下のようにした。
61 2 健二 酒井
62 1 健二 酒井
```
63 1 健二 酒井
   Require valid-user
64 1 健二 酒井
```
65 1 健二 酒井
66 3 健二 酒井
#### Windows 7でのDLサイズ制限
67 3 健二 酒井
68 3 健二 酒井
サーバーのスペックの問題なのかな、数十MBぐらいのファイルをコピーするとき最後に各つく。
69 3 健二 酒井
と思って何か制限とか調べてたら見つけた。
70 3 健二 酒井
71 3 健二 酒井
Windows7はデフォルトだと50MBまでしかダウンロードできないらしい。
72 3 健二 酒井
Windows10でどうなっているかは調べていないなぁ。
73 3 健二 酒井
10でWebDavクライアントがまともになったという噂も聞いたし、調べてみようかねぇ。
74 3 健二 酒井
75 3 健二 酒井
参考:https://support.microsoft.com/ja-jp/help/900900/folder-copy-error-message-when-downloading-a-file-that-is-larger-than
76 3 健二 酒井
77 1 健二 酒井
### 気づき
78 1 健二 酒井
79 1 健二 酒井
以下のリストはログから気づいたこと・疑問のメモ
80 1 健二 酒井
81 1 健二 酒井
- ステータスコード405:そんなメソッド認めない
82 1 健二 酒井
- ステータスコード401:認証されてない
83 1 健二 酒井
- PROPFINDメソッド:WebDavプロトコルで追加されたメソッドらしい
84 1 健二 酒井
85 1 健二 酒井
### 参考資料
86 1 健二 酒井
87 1 健二 酒井
- apache公式サイト:https://httpd.apache.org/docs/2.4/en/mod/mod_dav.html
88 1 健二 酒井
- 設定サンプルファイル:/usr/share/doc/httpd-2.4.6/httpd-dav.conf
89 1 健二 酒井
- WebDavのセキュリティについて:https://www.ipa.go.jp/security/fy14/reports/webdav/sec_webdav_01.pdf
90 3 健二 酒井
- Web フォルダーから 50000000 バイトより大きいファイルをダウンロードするときのフォルダーのコピー エラー メッセージ:https://support.microsoft.com/ja-jp/help/900900/folder-copy-error-message-when-downloading-a-file-that-is-larger-than