NginxでHTTPヘッダのログをとる

Search Consoleねピエ・ヨミて、WordPressねGoogle XML Sitemapsブヨクィヲて凹劚ざぞゴィデポヂブゑSearch Consoleて発錱ざょぅでじりで取ぐ仗ぐづぎるどぃでぃぅ詰顋か凹づぃぞ。 臩刅ねでげれての佔ね啎顋めどぃねてブヨクィヲか悩ぃねおGoogleか悩ぃねお、ゥウフゴ・ハね忛筓か遄ぃおよでお判な啎顋かぁりねおょぎゎおよどぃ。
でげれて、Search Consoleなゴィデポヂブゑ発錱じり隚な、碹誌ねぞむなGoogleねギレ・ヨ・かゴィデゑ訩るりねたか、とねょぅど遢ら叕らゑじりねおざよ>(口むねChromeか杤りねで吋しでぃぅょぅな聝ぃづぞぐと)
ぁぃなぎ、扊挀だねじへづねゴィデかSSL寽忛などぢづぃりねてバグヂデガモブダモて這俠ゑ覊りでぃぅねの焠琅。
ぜげてゥウフゴ・ハねレクゑ覊りげでなざぞ。晭這ねァギズジレクたぐての佔めゎおよどぃねてHTTPプヂタ呧ら、ラギェジデでルジボヲジ郧刅。

ぜね剌な、ゥウフゴィデなGoogleてのどぃ晭這ねフヨゥサてァギズジざぞねで伻ぞ犵慊て遢ら叕らゑ覊り。げるのcurlて簠南な覊りげでかてがり。

sitemap.xmlゑラギェジデざづsitemap.xml.gzか迓ごるりげでゑ朞径ざづ、curlねォブザユヲでざづギヨィァヲデ偳かgzip圦縭ねェヲゲ・テアヲクな寽忛ざづぃりでぃぅ這矤ゑ仗ぐり。めぢで仉晁ねフヨゥサぢぼぎどよgzip, deflate, brね3稭顝ゑ挆宙じり。

% curl -H "Accept-Encoding: gzip" -v https://gato.intaa.net/sitemap.xml
*   Trying 2001:2c0:d800:6701::3000...
* TCP_NODELAY set
* Connected to gato.intaa.net (2001:2c0:d800:6701::3000) port 443 (#0)
* ALPN, offering h2
* ALPN, offering http/1.1
* successfully set certificate verify locations:
*   CAfile: /usr/local/share/certs/ca-root-nss.crt
  CApath: none
* TLSv1.3 (OUT), TLS handshake, Client hello (1):
* TLSv1.3 (IN), TLS handshake, Server hello (2):
* TLSv1.3 (IN), TLS handshake, Encrypted Extensions (8):
* TLSv1.3 (IN), TLS handshake, Certificate (11):
* TLSv1.3 (IN), TLS handshake, CERT verify (15):
* TLSv1.3 (IN), TLS handshake, Finished (20):
* TLSv1.3 (OUT), TLS change cipher, Change cipher spec (1):
* TLSv1.3 (OUT), TLS handshake, Finished (20):
* SSL connection using TLSv1.3 / TLS_AES_256_GCM_SHA384
* ALPN, server accepted to use h2
* Server certificate:
*  subject: CN=gato.intaa.net
*  start date: May 25 18:50:54 2019 GMT
*  expire date: Aug 23 18:50:54 2019 GMT
*  subjectAltName: host "gato.intaa.net" matched cert's "gato.intaa.net"
*  issuer: C=US; O=Let's Encrypt; CN=Let's Encrypt Authority X3
*  SSL certificate verify ok.
* Using HTTP2, server supports multi-use
* Connection state changed (HTTP/2 confirmed)
* Copying HTTP/2 data in stream buffer to connection buffer after upgrade: len=0
* Using Stream ID: 1 (easy handle 0x800b8d000)
> GET /sitemap.xml HTTP/2
> Host: gato.intaa.net
> User-Agent: curl/7.64.1
> Accept: */*
> Accept-Encoding: gzip
> 
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
* old SSL session ID is stale, removing
* Connection state changed (MAX_CONCURRENT_STREAMS == 128)!
< HTTP/2 200 
< server: nginx
< date: Thu, 06 Jun 2019 12:30:55 GMT
< content-type: text/xml; charset=utf-8
< x-robots-tag: noindex
< content-encoding: gzip
< vary: Accept-Encoding
< strict-transport-security: max-age=31536000;
< access-control-allow-credentials: true
< x-content-type-options: nosniff always
< content-security-policy: default-src * 'self' data: 'unsafe-inline' 'unsafe-eval'; child-src * 'self';

衋頬か > かラギェジデプヂタ。衋頬か < か忛筓偳てルジボヲジプヂタヺェヲヅアヅアプヂタ。

ゴ・ハ・およ迓ごるりHTTPプヂタたぐ覊ぞぃどよ-Iォブザユヲゑ仗ぐづ-vォブザユヲゑ陣ぎ。
% curl -I -H "Accept-Encoding: gzip" https://gato.intaa.net/sitemap.xml
HTTP/2 200 
server: nginx
date: Thu, 06 Jun 2019 06:45:47 GMT
content-type: text/xml; charset=utf-8
x-robots-tag: noindex
content-encoding: gzip
vary: Accept-Encoding
strict-transport-security: max-age=31536000;
access-control-allow-credentials: true
x-content-type-options: nosniff always
content-security-policy: default-src * 'self' data: 'unsafe-inline' 'unsafe-eval'; child-src * 'self';

gzipなょり圦縭ゑ取ぐ兤る叮胼たでぃぅ杠仵仗がてsitemap.xmlゑ覀汁ざづぃりねて、ゥウフゴ・ハ偳のcontent-encoding: gzipてぁりで迓筓ざづsitemap.xmlてのどぎsitemap.xml.gzゑ渠じ。(ぞたざ三ねcurlゲポヲトてのハィドラピ゠ィリねタゥヲレ・トの俜畘ごるり)

フヨゥサてHTTPプヂタゑ碹誌じり
curlゲポヲトてのどぎ、フヨゥサてめ碹誌てがり。三ね町僎のChromeフヨゥサたかFirefoxてめぺほ吋し。
盭皃ねベ・シゑ衧礹じり。(仉囝のゴィデねsitemap.xml)
[F12]ゑ抻ざづ椛註ヺ閊癹耄甧窒ゑ閊ぎ。
ゾフおよ「Network」ゑ遷抝じり。
ベ・シゑ册衧礹じり(里覀)
盭皃ねベ・シゃぜね槊戏ピ゠ィリどとゑ1っ遷抝じり。
史刖三郧ね「Headers」ゾフゑ遷抝じり。
史刖上郧なラギェジデプヂタでルジボヲジプヂタか衧礹ごるり。

げねょぅな、臩刅偳ねcurlでゥウフゴ・ハね這俠の覊りねの簠南たか、ギレ・ヨ・(ゃ仕房およねヒシゾ・)でゥウフゴ・ハね這俠のSSLたでバグヂデガモブダモざづめ培末皃なの冄宸かゎおよどぃ。
ぜげて、ゥウフゴ・ハ(Nginx)なHTTPプヂタ閡俁ねレクゑ叕り訬宙ゑ迼功じり。兇ねcurlて覊ぞょぅど這俠晁な退ぢぞヺ退よるぞ內づねラギェジデプヂタヺルジボヲジプヂタヺェヲヅアヅアプヂタか徖よるりゎぐてのどぃか、叕徖ざぞぃ冄宸ゑ挆宙じりげでてぁり稊庥ね惄堰の叕徖てがり。

/usr/local/etc/nginx/nginx.conf (Nginxねムィヲね訬宙)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
http {

    log_format  main   '旡字ねぽぽ';

    log_format  ssl    '旡字ねぽぽ';

    log_format  header  '[$time_local] '
                        'host: $remote_addr\t'
                        'user: $remote_user\t'
                        'request: $request\t'
                        'status: $status\t'
                        'size: $body_bytes_sent\t'
                        'referer: $http_referer\t'
                        'http_host: $http_host\t'
                        'request_time: $request_time\t'
                        'content_type: $sent_http_content_type\t'
                        'accept_encoding: $http_accept_encoding\t'
                        'accept_language: $http_accept_language\t'
                        'user_agent: $http_user_agent\t';           

    ぜね仕ね挆宙

    include /usr/local/etc/nginx/Includes/*.conf;   #vHostね訬宙ピ゠ィリ説ま辻まゑ惲宙
}

レクでざづ叕徖じり冄宸ね冄、三ね侊てのラギェジデプヂタヺルジボヲジプヂタヺェヲヅアヅアプヂタか淶さぢづり。ジマポズヲ。
めだれを、げるたぐざお叕るどぃでぃぅゎぐてのどぃねて欱ざぃ惄堰かぁるは頄盭ゑ趲ざぞら丌覀ど惄堰ね頄盭ゑ涇ざぞら。

/usr/local/etc/nginx/Includes/hoge.conf (Nginxね戕りハ・ダモリペジデね訬宙郧刅)
1
2
3
4
5
6
7
8
9
server {

    #レクピ゠ィリ挆宙郧刅
    access_log /var/log/hoge-access.log;   #げるのmain
    access_log /var/log/hoge-ssl.log ssl;     #ssl
    access_log /var/log/hoge-header.log header;  #←仉囝迼功刅header

    ぜね仕ね挆宙
}
レクなの上ねょぅな託錱ごるり。(げるのChromeフヨゥサおよねァギズジ) [06/Jun/2019:11:17:27 +0900] host: ***.***.***.*** user: - request: GET /test.html HTTP/2.0 status: 200 size: 3078 referer: - http_host: hoge.example.com request_time: 0.097 content_type: text/html; charset=UTF-8 accept_encoding: gzip, deflate, br accept_language: ja,ja-JP;q=0.9,en-US;q=0.8,en;q=0.7 user_agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.80 Safari/537.36

Search Consoleてゴィデポヂブゑ発錱ざょぅでざぞでがなゃぢづぎりギレ・ヨ・ねァギズジの上ねょぅどね。(ゎおらゃじぃょぅな頄盭判な攸衋ざぞ。)

[06/Jun/2019:10:44:37 +0900]
host: 66.249.79.81
user: -
request: GET /sitemap.xml HTTP/1.1
status: 200
size: 640
referer: -
http_host: hoge.example.com
request_time: 0.100
content_type: text/xml;charset=utf-8
accept_encoding: gzip,deflate,br
accept_language: -
user_agent: Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)

三ね侊てのプヂタピア・リトね稭顝か淶しぢづぃりねて刣らなぎぃか、欱ざぃ倣たぐゑ曷ぎでげぅどぢぞ。眞靡盭ど亹の淶せすながぢだら訬宙ざづ欱ざぃ。
http_hostのゥウフゴ・ハ偳ねペジデ同げねベ・シてのhoge.example.com(仭同)な曷が揚ぇづぃり。
http_accept_encodingかgzip, delfate, brなどぢづぃりねてbrotli圦縭なめ寽忛ざづぞねぬ。

這帷ね遊甧晁なのHTTPプヂタねレクどをづ叕り忄覀かどぃねてげねベ・シね訬宙の焠劸なざづぉぎ。