Apache mod autoindex » 履歴 » バージョン 3
健二 酒井, 2019/11/13 00:05
apache設定ミス
1 | 1 | 健二 酒井 | # Apache memo |
---|---|---|---|
2 | 1 | 健二 酒井 | |
3 | 1 | 健二 酒井 | ## 概要 |
4 | 1 | 健二 酒井 | |
5 | 1 | 健二 酒井 | あったことを適当に書いてく |
6 | 1 | 健二 酒井 | |
7 | 1 | 健二 酒井 | ## クライアント認証とOption Index |
8 | 1 | 健二 酒井 | |
9 | 1 | 健二 酒井 | ### やりたい事 |
10 | 1 | 健二 酒井 | |
11 | 1 | 健二 酒井 | - 特定ディレクトリにクライアント認証をかけたい |
12 | 1 | 健二 酒井 | - https://example.com/でアクセスしたときにapacheのインデックスページを出したい |
13 | 1 | 健二 酒井 | |
14 | 1 | 健二 酒井 | ### 設定状況 |
15 | 1 | 健二 酒井 | |
16 | 1 | 健二 酒井 | こんなディレクトリを持っていたとする: |
17 | 1 | 健二 酒井 | |
18 | 1 | 健二 酒井 | - DocumentRoot |
19 | 1 | 健二 酒井 | - ClientVerifyDir |
20 | 1 | 健二 酒井 | - FooDir |
21 | 1 | 健二 酒井 | - BarDir |
22 | 1 | 健二 酒井 | |
23 | 1 | 健二 酒井 | こんな設定だったりする: |
24 | 1 | 健二 酒井 | |
25 | 1 | 健二 酒井 | - ディレクトリClientVerifyDirにクライアント認証をかけている |
26 | 1 | 健二 酒井 | - ディレクトリDocumentRootにはクライアント認証をかけていない |
27 | 1 | 健二 酒井 | - DocumentRootにOption +Indexがついている |
28 | 1 | 健二 酒井 | - index.htmlとかはない |
29 | 1 | 健二 酒井 | |
30 | 1 | 健二 酒井 | ### 何が起きた |
31 | 1 | 健二 酒井 | |
32 | 1 | 健二 酒井 | https://example.com/でアクセスしたときにSSLのネゴシエーションに失敗する |
33 | 1 | 健二 酒井 | |
34 | 1 | 健二 酒井 | エラーログはこんな感じ |
35 | 1 | 健二 酒井 | |
36 | 1 | 健二 酒井 | ``` |
37 | 1 | 健二 酒井 | SSL Library Error: error:140890C7:SSL routines:ssl3_get_client_certificate:peer did not return a certificate -- No CAs known to server for verification? |
38 | 1 | 健二 酒井 | AH02261: Re-negotiation handshake failed |
39 | 1 | 健二 酒井 | ``` |
40 | 1 | 健二 酒井 | |
41 | 1 | 健二 酒井 | 結構悩んだのでメモしとく |
42 | 1 | 健二 酒井 | |
43 | 1 | 健二 酒井 | ### 原因(推測) |
44 | 1 | 健二 酒井 | |
45 | 2 | 健二 酒井 | 1. https://example.com/にアクセス |
46 | 2 | 健二 酒井 | 1. インデックスページを生成しようとする |
47 | 2 | 健二 酒井 | 1. DocumentRootのエントリ「ClientVerifyDir」を読もうとする |
48 | 2 | 健二 酒井 | 1. 一方ClientVerifyDirを読むにはクライアント認証が必要 |
49 | 1 | 健二 酒井 | アクセスしているDocumentRootはクライアント認証の提示をブラウザに要求していない |
50 | 2 | 健二 酒井 | 1. クライアント認証は失敗する |
51 | 1 | 健二 酒井 | |
52 | 1 | 健二 酒井 | って感じなんだろうか。うーん、ディレクトリのread権限がなくて403 Forbidden的なしょぼいエラーと似ている気がする |
53 | 1 | 健二 酒井 | |
54 | 1 | 健二 酒井 | ### 対処 |
55 | 1 | 健二 酒井 | |
56 | 1 | 健二 酒井 | まず、ディレクトリ構造を変更 |
57 | 1 | 健二 酒井 | |
58 | 1 | 健二 酒井 | - DocumentRoot |
59 | 1 | 健二 酒井 | - SecretsDir |
60 | 1 | 健二 酒井 | - ClientVerifyDir |
61 | 1 | 健二 酒井 | - FooDir |
62 | 1 | 健二 酒井 | - BarDir |
63 | 1 | 健二 酒井 | |
64 | 1 | 健二 酒井 | クライアント認証かけるディレクトリをSecretsDirより下のものたちに。 |
65 | 1 | 健二 酒井 | |
66 | 1 | 健二 酒井 | ``` |
67 | 3 | 健二 酒井 | <Directory "DocumentRoot/SecretsDir/*"> |
68 | 1 | 健二 酒井 | SSLVerifyClient require |
69 | 1 | 健二 酒井 | </Directory> |
70 | 1 | 健二 酒井 | ``` |