文系プログラマによるTIPSブログ

文系プログラマ脳の私が開発現場で学んだ事やプログラミングのTIPSをまとめています。

nginxのログに絶対URLを出力する

nginxのログにURL出力できますよ〜


f:id:treeapps:20180424102046p:plain

前回に引き続き、nginxのログの話題です。

access.logを見ていて、ふと絶対URLが見れたらいいのになあ、と思ったので対応してみました。

修正前

    log_format  main  '$host$remote_addr - $remote_user [$time_local] "$http_host" "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

127.0.0.1 - - [11/Jan/2012:20:17:16 +0900] "GET /rakuten/item/search/553550/?genreSelectFlg=1 HTTP/1.1" 200 28159 "http://localhost/rakuten/item/search/505034/?genreSelectFlg=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7" "-"

修正後

    log_format  custom1  '$remote_addr - $remote_user [$time_local] "$request_method $scheme://$http_host$request_uri '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

127.0.0.1 - - [11/Jan/2012:20:45:15 +0900] "GET http://localhost/rakuten/item/search/400962/?genreSelectFlg=1" 200 36425 "http://localhost/rakuten/item/search/112203/?genreSelectFlg=1" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/535.7 (KHTML, like Gecko) Chrome/16.0.912.75 Safari/535.7" "-"

クローラがどのホスト名にアクセスしてくるかも解るので、絶対URL表示の方がいいですね。