2016-04-14 6 views
1

私はcentos 7サーバー上で実行されているWebサイトを持っており、nginxはWebサイトを提供するために使用されています。サーバーでポートのWebサイトまたはサーバーIPの要求が行われたかどうか

私の質問は、自分のウェブサイトのドメイン名がヒットしたのか、それともnginxポート上の自分のlinuxサーバーのパブリックIPに直接要求されたのかを私のサーバで特定する方法です。

ありがとうございました。

+0

DNSサーバは、Webサーバに接続する前に名前を常にipアドレスに変換します。しかし、ウェブサーバは逆のDNSルックアップを実行して、少なくともApacheのホスト名を取得することができます。これは通常、パフォーマンスを向上させるためにオフになっています。 – kometen

答えて

0

と組み合わせたログファイル形式には、おそらく必要なものであるhttp_hostヘッダーが表示されません。カスタムログファイル形式(httpブロック内)を定義し、httpブロックまたは特定のserverブロックのいずれかから参照することができます。たとえば、

http { 
    log_format custom '$remote_addr - $remote_user [$time_local] ' 
         '"$http_host" ' 
         '"$request" $status $body_bytes_sent ' 
         '"$http_referer" "$http_user_agent"'; 

    access_log /var/log/nginx-access.log custom; 
    ... 
} 

上記は、$http_hostのデフォルト設定に基づいています。詳細はthis documentを参照してください。

関連する問題