プロジェクト

全般

プロフィール

WebDav » 履歴 » バージョン 3

sylow castle, 2019/07/03 15:13

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