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 |