SlideShare une entreprise Scribd logo
1  sur  16
102-107
Content-Type の決定&アクセス IP の逆引き
@mikeda
ざっくり2つ
 Content-Type の決定
102 TypesConfig /etc/mime.types
103 DefaultType text/plain
104 <IfModule mod_mime_magic.c>
105 MIMEMagicFile conf/magic
106 </IfModule>
 DNS の逆引き
107 HostnameLookups Off
Content-Type の決定
概要
 Apache は返却するファイルの種類( MIME タイプ)を
Content-Type ヘッダで返していて、
 クライアントはそれを元に適切な処理を行う。
$ curl http://mikeda.biz/test.txt -I
HTTP/1.1 200 OK
...
Content-Type: text/plain; charset=UTF-8
Apache はどのようにして Content-Type
を
 判断するのか?
拡張子ベース
ファイルの拡張子で判断
102 TypesConfig /etc/mime.types
  →  /etc/mime.types で定義するよ!
拡張子ベース
 /etc/mime.types
 フォーマット → <MIME タイプ >   < 拡
張子 >
image/jpeg jpeg jpg jpe
text/plain asc txt
 動作確認
$ curl http://mikeda.biz/test.txt -I
HTTP/1.1 200 OK
...
Content-Type: text/plain; charset=UTF-8
拡張子ベース
 ちょっといじってみる
text/parityfec txt
text/plain asc
 動作確認
$ curl http://mikeda.biz/test.txt -I
HTTP/1.1 200 OK
...
Content-Type: text/parityfec
ファイルの中身ベース
ファイルの中身を見て判断
104 <IfModule mod_mime_magic.c>
105 MIMEMagicFile conf/magic
106 </IfModule>
 → conf/magic で定義するよ!
ファイルの中身ベース
 conf/magic
→http://httpd.apache.org/docs/2.0/mod/mod_mime_magic.html
# JPEG images
0 beshort 0xffd8 image/jpeg
ファイルの先頭がビッグエンディアンの "0xffd8" なら jpeg
 動作確認
# mv mikeda.jpg mikeda.jpgxxx
$ curl http://mikeda.biz/mikeda.jpgxxx -I
HTTP/1.1 200 OK
...
Content-Type: image/jpeg
→ 拡張子を変えても jpeg だとわかる!!!
ファイルの中身ベース
 設定かえると
# JPEG images
0 beshort 0xffd8 image/jpegxxx
 Content-Type も変わる
$ curl http://mikeda.biz/mikeda.jpgxxx -I
HTTP/1.1 200 OK
...
Content-Type: image/jpegxxx
わからないときのデフォルト
 103 DefaultType text/plain
→ よくわからなければ text/plain 返す
よ!!
 動作確認
# echo mikeda > mikeda
$ curl http://mikeda.biz/mikeda -I
HTTP/1.1 200 OK
...
Content-Type: text/plain; charset=UTF-8
わからないときのデフォルト
 変えてみる
DefaultType text/mikeda
 変わった
$ curl http://mikeda.biz/mikeda -I
HTTP/1.1 200 OK
...
Content-Type: text/mikeda
アクセス IP の逆引き
アクセス IP を逆引きするか
 107 HostnameLookups Off
→ しない
 こんなアクセスログが出る
38.99.65.221 - - [01/Nov/2010:03:49:52 +0900]
"GET / HTTP/1.1" 200 …
アクセス IP を逆引きするか
 HostnameLookups On にしてみる
 こんなアクセスログが出る
38.99.65.221.nativehosting.com - -
[01/Nov/2010:03:50:28 +0900] "GET /
HTTP/1.1" 200
 REMOTE_HOST 変数も置き換わる
 パフォーマンスが低下する。
  どういうときにやるべき???
終了

Contenu connexe

Plus de Tomohiro Ikeda

qpstudy3周年記念LT大会
qpstudy3周年記念LT大会qpstudy3周年記念LT大会
qpstudy3周年記念LT大会Tomohiro Ikeda
 
MySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTMySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTTomohiro Ikeda
 
Q-1 Twitterグランプリ (qpstudy04 LT)
Q-1 Twitterグランプリ (qpstudy04 LT)Q-1 Twitterグランプリ (qpstudy04 LT)
Q-1 Twitterグランプリ (qpstudy04 LT)Tomohiro Ikeda
 

Plus de Tomohiro Ikeda (8)

qpsutdy 201307 LT
qpsutdy 201307 LTqpsutdy 201307 LT
qpsutdy 201307 LT
 
qpstudy3周年記念LT大会
qpstudy3周年記念LT大会qpstudy3周年記念LT大会
qpstudy3周年記念LT大会
 
インフラの話
インフラの話インフラの話
インフラの話
 
Fluentd meetup #2
Fluentd meetup #2Fluentd meetup #2
Fluentd meetup #2
 
Zabbix study5lt
Zabbix study5ltZabbix study5lt
Zabbix study5lt
 
MySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LTMySQL Casual Talks Vol.3 LT
MySQL Casual Talks Vol.3 LT
 
Zabbix study
Zabbix studyZabbix study
Zabbix study
 
Q-1 Twitterグランプリ (qpstudy04 LT)
Q-1 Twitterグランプリ (qpstudy04 LT)Q-1 Twitterグランプリ (qpstudy04 LT)
Q-1 Twitterグランプリ (qpstudy04 LT)
 

Webサーバ勉強会