264 lines
25 KiB
Markdown
264 lines
25 KiB
Markdown
---
|
||
title: バックエンドにあるnginxのアクセスログにクライアントIPを記録する
|
||
author: kazu634
|
||
date: 1969-12-31
|
||
url: /1970/01/01/_46/
|
||
wordtwit_post_info:
|
||
- 'O:8:"stdClass":13:{s:6:"manual";b:0;s:11:"tweet_times";i:1;s:5:"delay";i:0;s:7:"enabled";i:1;s:10:"separation";s:2:"60";s:7:"version";s:3:"3.7";s:14:"tweet_template";b:0;s:6:"status";i:2;s:6:"result";a:0:{}s:13:"tweet_counter";i:2;s:13:"tweet_log_ids";a:1:{i:0;i:5445;}s:9:"hash_tags";a:0:{}s:8:"accounts";a:1:{i:0;s:7:"kazu634";}}'
|
||
categories:
|
||
- nginx
|
||
|
||
---
|
||
<div class="section">
|
||
<p>
|
||
nginxでフロントエンドのプロキシーサーバと、バックエンドのウェブサーバを構成しています。今回、バックエンドのウェブサーバのログを確認したら、クライアントのIPアドレスが「127.0.0.1」となっており、クライアントのIPアドレスになっていないことに気づきました。そこでバックエンドサーバのアクセスログにクライアントのIPアドレスを記録する方法を調べてみました。
|
||
</p>
|
||
|
||
<h4>
|
||
前提条件
|
||
</h4>
|
||
|
||
<p>
|
||
フロントエンドのプロキシーサーバ側の設定で、X-Real-IPを設定している必要があります。nginx.confなどの設定ファイルで次のように設定しておきます。私はフロントエンドのnginxの設定部分に記載しています:
|
||
</p>
|
||
|
||
<pre class="syntax-highlight">
|
||
proxy_set_header X-Real-IP $remote_addr;
|
||
</pre>
|
||
|
||
<h4>
|
||
http_real_ipモジュール
|
||
</h4>
|
||
|
||
<p>
|
||
調査の結果、<a href="http://wiki.nginx.org/HttpRealIpModule" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://wiki.nginx.org/HttpRealIpModule', 'HttpRealIpModule');" target="_blank">HttpRealIpModule</a>がこの目的を満たすことがわかりました。HttpRealIpModuleとは、
|
||
</p>
|
||
|
||
<blockquote title="http://wiki.nginx.org/HttpRealIpModule" cite="http://wiki.nginx.org/HttpRealIpModule">
|
||
<p>
|
||
This module allows to change the client’s IP address to value from request header (e. g. X-Real-IP or X-Forwarded-For).
|
||
</p>
|
||
|
||
<p>
|
||
<cite><a href="http://wiki.nginx.org/HttpRealIpModule" onclick="__gaTracker('send', 'event', 'outbound-article', 'http://wiki.nginx.org/HttpRealIpModule', 'http://wiki.nginx.org/HttpRealIpModule');" target="_blank">http://wiki.nginx.org/HttpRealIpModule</a></cite>
|
||
</p>
|
||
</blockquote>
|
||
|
||
<p>
|
||
プロキシーサーバのIPアドレスじゃなくて、X-Real-IPとか、X-Forwarded-Forを参照して、クライアントのIPアドレスとして扱ってくれるようになります。
|
||
</p>
|
||
|
||
<h4>
|
||
設定方法
|
||
</h4>
|
||
|
||
<p>
|
||
まずは http_real_ipモジュール が使用できるかどうかを確認します。次のコマンドを実行して、
|
||
</p>
|
||
|
||
<pre class="syntax-highlight">
|
||
% nginx <span class="synSpecial">-V</span>
|
||
nginx: nginx version: nginx/<span class="synConstant">1</span>.<span class="synConstant"></span>.<span class="synConstant">5</span>
|
||
nginx: TLS SNI support enabled
|
||
nginx: configure arguments: <span class="synSpecial">--prefix=/etc/nginx</span> <span class="synSpecial">--conf-path=/etc/nginx/nginx.conf</span> <span class="synSpecial">--error-log-path=/var/log/nginx/error.log</span> <span class="synSpecial">--http-client-body-temp-path=/var/lib/nginx/body</span> <span class="synSpecial">--http-fastcgi-temp-path=/var/lib/nginx/fastcgi</span> <span class="synSpecial">--http-log-path=/var/log/nginx/access.log</span> <span class="synSpecial">--http-proxy-temp-path=/var/lib/nginx/proxy</span> <span class="synSpecial">--http-scgi-temp-path=/var/lib/nginx/scgi</span> <span class="synSpecial">--http-uwsgi-temp-path=/var/lib/nginx/uwsgi</span> <span class="synSpecial">--lock-path=/var/lock/nginx.lock</span> <span class="synSpecial">--pid-path=/var/run/nginx.pid</span> <span class="synSpecial">--with-debug</span> <span class="synSpecial">--with-http_addition_module</span> <span class="synSpecial">--with-http_dav_module</span> <span class="synSpecial">--with-http_geoip_module</span> <span class="synSpecial">--with-http_gzip_static_module</span> <span class="synSpecial">--with-http_image_filter_module</span> <span class="synSpecial">--with-http_realip_module</span> <span class="synSpecial">--with-http_stub_status_module</span> <span class="synSpecial">--with-http_ssl_module</span> <span class="synSpecial">--with-http_sub_module</span> <span class="synSpecial">--with-http_xslt_module</span> <span class="synSpecial">--with-ipv6</span> <span class="synSpecial">--with-sha1=/usr/include/openssl</span> <span class="synSpecial">--with-md5=/usr/include/openssl</span> <span class="synSpecial">--with-mail</span> <span class="synSpecial">--with-mail_ssl_module</span> <span class="synSpecial">--add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-echo</span> <span class="synSpecial">--add-module=/build/buildd/nginx-1.0.5/debian/modules/nginx-upstream-fair</span>
|
||
</pre>
|
||
|
||
<p>
|
||
configure argumentsの部分に「–with-http_realip_module」があれば、使用可能です。
|
||
</p>
|
||
|
||
<p>
|
||
バックエンド側に渡されてくるプロキシーサーバのIPアドレスは「127.0.0.1」で固定のため、バックエンド側の設定を実施しているnginx.confなどの設定ファイルで次のように設定します:
|
||
</p>
|
||
|
||
<pre class="syntax-highlight">
|
||
set_real_ip_from 127.0.0.1;
|
||
real_ip_header X-Real-IP;
|
||
</pre>
|
||
|
||
<p>
|
||
追記したら、設定を反映させましょう:
|
||
</p>
|
||
|
||
<pre class="syntax-highlight">
|
||
% sudo service nginx <span class="synStatement">reload</span>
|
||
</pre>
|
||
|
||
<h4>
|
||
結果
|
||
</h4>
|
||
|
||
<p>
|
||
設定ファイルを変更する前:
|
||
</p>
|
||
|
||
<pre class="syntax-highlight">
|
||
<span class="synConstant">127</span>.<span class="synConstant"></span>.<span class="synConstant"></span>.<span class="synConstant">1</span> blog.kazu634.com - <span class="synStatement">[</span><span class="synConstant">27</span>/Aug/<span class="synConstant">2011</span>:<span class="synConstant">22</span>:<span class="synConstant">52</span>:<span class="synConstant">03</span> +<span class="synConstant">0900</span><span class="synStatement">]</span> <span class="synStatement">"</span><span class="synConstant">GET /wp-content/uploads/2011/08/slooProImg_20110815194429.jpg HTTP/1.0</span><span class="synStatement">"</span> <span class="synConstant">200</span> <span class="synConstant">100647</span> <span class="synStatement">"</span><span class="synConstant">http://blog.kazu634.com/2011/08/15/%e5%b9%b3%e6%b3%89%e3%81%b8%e8%87%aa%e8%bb%a2%e8%bb%8a%e3%83%84%e3%83%bc%e3%83%aa%e3%83%b3%e3%82%b0/</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_8; en-us) AppleWebKit/533.21.1 (KHTML, like Gecko) Version/5.0.5 Safari/533.21.1</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">-</span><span class="synStatement">"</span>
|
||
<span class="synConstant">127</span>.<span class="synConstant"></span>.<span class="synConstant"></span>.<span class="synConstant">1</span> blog.kazu634.com - <span class="synStatement">[</span><span class="synConstant">27</span>/Aug/<span class="synConstant">2011</span>:<span class="synConstant">22</span>:<span class="synConstant">52</span>:<span class="synConstant">04</span> +<span class="synConstant">0900</span><span class="synStatement">]</span> <span class="synStatement">"</span><span class="synConstant">GET /2011/08/13/%e5%a4%8f%e6%9c%9f%e4%bc%91%e6%9a%87%e3%81%ab%e8%a1%8c%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%be%e3%81%99/ HTTP/1.0</span><span class="synStatement">"</span> <span class="synConstant">200</span> <span class="synConstant">35155</span> <span class="synStatement">"</span><span class="synConstant">-</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">-</span><span class="synStatement">"</span>
|
||
<span class="synConstant">127</span>.<span class="synConstant"></span>.<span class="synConstant"></span>.<span class="synConstant">1</span> blog.kazu634.com - <span class="synStatement">[</span><span class="synConstant">27</span>/Aug/<span class="synConstant">2011</span>:<span class="synConstant">22</span>:<span class="synConstant">58</span>:<span class="synConstant">46</span> +<span class="synConstant">0900</span><span class="synStatement">]</span> <span class="synStatement">"</span><span class="synConstant">POST /wp-cron.php?doing_wp_cron HTTP/1.0</span><span class="synStatement">"</span> <span class="synConstant">499</span> <span class="synConstant"></span> <span class="synStatement">"</span><span class="synConstant">-</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">WordPress/3.0.1; http://www3232u.sakura.ne.jp/~kazu634</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">-</span><span class="synStatement">"</span>
|
||
</pre>
|
||
|
||
<p>
|
||
設定ファイルを変更した後:
|
||
</p>
|
||
|
||
<pre class="syntax-highlight">
|
||
<span class="synConstant">119</span>.<span class="synConstant">63</span>.<span class="synConstant">196</span>.<span class="synConstant">125</span> - - <span class="synStatement">[</span><span class="synConstant">27</span>/Aug/<span class="synConstant">2011</span>:<span class="synConstant">23</span>:<span class="synConstant">47</span>:<span class="synConstant">41</span> +<span class="synConstant">0900</span><span class="synStatement">]</span> <span class="synStatement">"</span><span class="synConstant">GET /2010/09/16/</span><span class="synSpecial">ハロウィーンですね</span><span class="synConstant">/ HTTP/1.0</span><span class="synStatement">"</span> <span class="synConstant">200</span> <span class="synConstant">35430</span> <span class="synStatement">"</span><span class="synConstant">-</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">Mozilla/5.0 (compatible; Baiduspider/2.0; +http://www.baidu.com/search/spider.html)</span><span class="synStatement">"</span><span class="synConstant">220</span>.<span class="synConstant">247</span>.<span class="synConstant">23</span>.<span class="synConstant">220</span> - - <span class="synStatement">[</span><span class="synConstant">27</span>/Aug/<span class="synConstant">2011</span>:<span class="synConstant">23</span>:<span class="synConstant">51</span>:<span class="synConstant">44</span> +<span class="synConstant">0900</span><span class="synStatement">]</span> <span class="synStatement">"</span><span class="synConstant">GET /feed/ HTTP/1.0</span><span class="synStatement">"</span> <span class="synConstant">200</span> <span class="synConstant">65789</span> <span class="synStatement">"</span><span class="synConstant">-</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">Apple-PubSub/65.21</span><span class="synStatement">"</span>
|
||
<span class="synConstant">66</span>.<span class="synConstant">249</span>.<span class="synConstant">69</span>.<span class="synConstant">54</span> - - <span class="synStatement">[</span><span class="synConstant">27</span>/Aug/<span class="synConstant">2011</span>:<span class="synConstant">23</span>:<span class="synConstant">56</span>:<span class="synConstant">33</span> +<span class="synConstant">0900</span><span class="synStatement">]</span> <span class="synStatement">"</span><span class="synConstant">GET /page/10/ HTTP/1.0</span><span class="synStatement">"</span> <span class="synConstant">200</span> <span class="synConstant">50757</span> <span class="synStatement">"</span><span class="synConstant">-</span><span class="synStatement">"</span> <span class="synStatement">"</span><span class="synConstant">Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)</span><span class="synStatement">"</span>
|
||
</pre>
|
||
|
||
<h4>
|
||
参考
|
||
</h4>
|
||
|
||
<p>
|
||
ちなみに私の設定ファイルはこんな感じにしています:
|
||
</p>
|
||
|
||
<h5>
|
||
nginx.conf
|
||
</h5>
|
||
|
||
<pre class="syntax-highlight">
|
||
% cat nginx.conf
|
||
user www-data<span class="synStatement">;</span>
|
||
worker_processes <span class="synConstant">2</span><span class="synStatement">;</span>
|
||
error_log /var/log/nginx/error.log<span class="synStatement">;</span>
|
||
pid /var/run/nginx.pid<span class="synStatement">;</span>
|
||
events <span class="synSpecial">{</span>
|
||
worker_connections <span class="synConstant">1024</span><span class="synStatement">;</span>
|
||
<span class="synComment"> # multi_accept on;</span>
|
||
<span class="synSpecial">}</span>
|
||
http <span class="synSpecial">{</span>
|
||
include /etc/nginx/mime.types<span class="synStatement">;</span>
|
||
access_log /var/log/nginx/access.log<span class="synStatement">;</span>
|
||
sendfile on<span class="synStatement">;</span>
|
||
<span class="synComment"> #tcp_nopush on;</span>
|
||
<span class="synComment"> #keepalive_timeout 0;</span>
|
||
keepalive_timeout <span class="synConstant">10</span><span class="synStatement">;</span>
|
||
tcp_nodelay on<span class="synStatement">;</span>
|
||
gzip on<span class="synStatement">;</span>
|
||
gzip_disable <span class="synStatement">"</span><span class="synConstant">MSIE [1-6]\.(?!.*SV1)</span><span class="synStatement">";</span>
|
||
proxy_cache_path /var/www/proxy/nginx_cache <span class="synIdentifier">levels</span>=<span class="synConstant">1</span>:<span class="synConstant">2</span> <span class="synIdentifier">keys_zone</span>=czone:4m <span class="synIdentifier">max_size</span>=50m <span class="synIdentifier">inactive</span>=120m<span class="synStatement">;</span>
|
||
proxy_temp_path /var/www/proxy/nginx_tmp<span class="synStatement">;</span>
|
||
proxy_redirect off<span class="synStatement">;</span>
|
||
proxy_set_header Host <span class="synPreProc">$host</span><span class="synStatement">;</span>
|
||
proxy_set_header X-Real-IP <span class="synPreProc">$remote_addr</span><span class="synStatement">;</span>
|
||
proxy_set_header X-Forwarded-Host <span class="synPreProc">$host</span><span class="synStatement">;</span>
|
||
proxy_set_header X-Forwarded-Server <span class="synPreProc">$host</span><span class="synStatement">;</span>
|
||
proxy_set_header X-Forwarded-For <span class="synPreProc">$proxy_add_x_forwarded_for</span><span class="synStatement">;</span>
|
||
include /etc/nginx/conf.d/*.conf<span class="synStatement">;</span>
|
||
include /etc/nginx/sites-enabled/*<span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
<span class="synComment"># mail {</span>
|
||
<span class="synComment"># # See sample authentication script at:</span>
|
||
<span class="synComment"># # http://wiki.nginx.org/NginxImapAuthenticateWithApachePhpScript</span>
|
||
<span class="synComment">#</span>
|
||
<span class="synComment"># # auth_http localhost/auth.php;</span>
|
||
<span class="synComment"># # pop3_capabilities "TOP" "USER";</span>
|
||
<span class="synComment"># # imap_capabilities "IMAP4rev1" "UIDPLUS";</span>
|
||
<span class="synComment">#</span>
|
||
<span class="synComment"># server {</span>
|
||
<span class="synComment"># listen localhost:110;</span>
|
||
<span class="synComment"># protocol pop3;</span>
|
||
<span class="synComment"># proxy on;</span>
|
||
<span class="synComment"># }</span>
|
||
<span class="synComment">#</span>
|
||
<span class="synComment"># server {</span>
|
||
<span class="synComment"># listen localhost:143;</span>
|
||
<span class="synComment"># protocol imap;</span>
|
||
<span class="synComment"># proxy on;</span>
|
||
<span class="synComment"># }</span>
|
||
<span class="synComment"># }</span>
|
||
</pre>
|
||
|
||
<h5>
|
||
フロント・バックエンド側
|
||
</h5>
|
||
|
||
<pre class="syntax-highlight">
|
||
% cat wordpress
|
||
<span class="synComment"># You may add here your</span>
|
||
<span class="synComment"># server {</span>
|
||
<span class="synComment"># ...</span>
|
||
<span class="synComment"># }</span>
|
||
<span class="synComment"># statements for each of your virtual hosts</span>
|
||
server <span class="synSpecial">{</span>
|
||
listen <span class="synConstant">8001</span><span class="synStatement">;</span>
|
||
server_name _<span class="synStatement">;</span>
|
||
set_real_ip_from <span class="synConstant">127</span>.<span class="synConstant"></span>.<span class="synConstant"></span>.<span class="synConstant">1</span><span class="synStatement">;</span>
|
||
real_ip_header X-Real-IP<span class="synStatement">;</span>
|
||
access_log /var/log/nginx/blog.access.log<span class="synStatement">;</span>
|
||
error_log /var/log/nginx/blog.error.log<span class="synStatement">;</span>
|
||
location / <span class="synSpecial">{</span>
|
||
root /var/www/nginx-default/domain/wordpress<span class="synStatement">;</span>
|
||
index index.php<span class="synStatement">;</span>
|
||
<span class="synStatement">if</span> <span class="synStatement">(</span>-f <span class="synPreProc">$request_filename</span><span class="synStatement">)</span> <span class="synSpecial">{</span>
|
||
expires 30d<span class="synStatement">;</span>
|
||
<span class="synStatement">break;</span>
|
||
<span class="synSpecial">}</span>
|
||
<span class="synStatement">if</span> <span class="synStatement">(!</span>-e <span class="synPreProc">$request_filename</span><span class="synStatement">)</span> <span class="synSpecial">{</span>
|
||
rewrite ^.+?<span class="synStatement">(</span>wp-.*<span class="synStatement">)</span> <span class="synPreProc">$1</span> last<span class="synStatement">;</span>
|
||
rewrite ^.+?<span class="synStatement">(</span>.*\.php<span class="synStatement">)</span>$ <span class="synPreProc">$1</span> last<span class="synStatement">;</span>
|
||
rewrite ^ /index.php last<span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
}
|
||
location ~ \.php$ <span class="synSpecial">{</span>
|
||
include /etc/nginx/fastcgi_params<span class="synStatement">;</span>
|
||
fastcgi_pass <span class="synConstant">127</span>.<span class="synConstant"></span>.<span class="synConstant"></span>.<span class="synConstant">1</span>:<span class="synConstant">9000</span><span class="synStatement">;</span>
|
||
fastcgi_index index.php<span class="synStatement">;</span>
|
||
fastcgi_param SCRIPT_FILENAME /var/www/nginx-default/domain/wordpress<span class="synPreProc">$fastcgi_script_name</span><span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
}
|
||
upstream backend <span class="synSpecial">{</span>
|
||
ip_hash<span class="synStatement">;</span>
|
||
server <span class="synConstant">127</span>.<span class="synConstant"></span>.<span class="synConstant"></span>.<span class="synConstant">1</span>:<span class="synConstant">8001</span><span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
server <span class="synSpecial">{</span>
|
||
listen <span class="synConstant">80</span><span class="synStatement">;</span>
|
||
server_name blog.kazu634.com<span class="synStatement">;</span>
|
||
access_log /var/log/nginx/front_proxy.access.log<span class="synStatement">;</span>
|
||
error_log /var/log/nginx/front_proxy.error.log<span class="synStatement">;</span>
|
||
location /wp-admin <span class="synSpecial">{</span> proxy_pass http://backend<span class="synStatement">;</span> <span class="synSpecial">}</span>
|
||
location /wp-login.php <span class="synSpecial">{</span> proxy_pass http://backend<span class="synStatement">;</span> <span class="synSpecial">}</span>
|
||
location / <span class="synSpecial">{</span>
|
||
<span class="synStatement">if</span> <span class="synStatement">(</span><span class="synPreProc">$http_cookie</span> ~* <span class="synStatement">"</span><span class="synConstant">comment_author_|wordpress_(?!test_cookie)|wp-postpass_</span><span class="synStatement">"</span> <span class="synStatement">)</span> <span class="synSpecial">{</span>
|
||
<span class="synStatement">set </span><span class="synPreProc">$do_not_cache</span> <span class="synConstant">1</span><span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
<span class="synStatement">if</span> <span class="synStatement">(</span><span class="synPreProc">$http_user_agent</span> ~* “<span class="synConstant">2</span>.<span class="synConstant"></span>\ 2MMP<span class="synStatement">|</span>240×320<span class="synStatement">|</span>400X240<span class="synStatement">|</span>AvantGo<span class="synStatement">|</span>BlackBerry<span class="synStatement">|</span>Blazer<span class="synStatement">|</span>Cellphone<span class="synStatement">|</span>Danger<span class="synStatement">|</span>DoCoMo<span class="synStatement">|</span>Elaine/<span class="synConstant">3</span>.<span class="synConstant"></span><span class="synStatement">|</span>EudoraWeb<span class="synStatement">|</span>Googlebot-Mobile<span class="synStatement">|</span>hiptop<span class="synStatement">|</span>IEMobile<span class="synStatement">|</span>KYOCERA/WX310K<span class="synStatement">|</span>LG/U990<span class="synStatement">|</span>MIDP<span class="synConstant">-2</span>.<span class="synStatement">|</span>MMEF20<span class="synStatement">|</span>MOT-V<span class="synStatement">|</span>NetFront<span class="synStatement">|</span>Newt<span class="synStatement">|</span>Nintendo\ Wii<span class="synStatement">|</span>Nitro<span class="synStatement">|</span>Nokia<span class="synStatement">|</span>Opera\ Mini<span class="synStatement">|</span>Palm<span class="synStatement">|</span>PlayStation\ Portable<span class="synStatement">|</span>portalmmm<span class="synStatement">|</span>Proxinet<span class="synStatement">|</span>ProxiNet<span class="synStatement">|</span>SHARP-TQ-GX10<span class="synStatement">|</span>SHG-i900<span class="synStatement">|</span>Small<span class="synStatement">|</span>SonyEricsson<span class="synStatement">|</span>Symbian\ OS<span class="synStatement">|</span>SymbianOS<span class="synStatement">|</span>TS21i<span class="synConstant">-10</span><span class="synStatement">|</span>UP.Browser<span class="synStatement">|</span>UP.Link<span class="synStatement">|</span>webOS<span class="synStatement">|</span>Windows\ CE<span class="synStatement">|</span>WinWAP<span class="synStatement">|</span>YahooSeeker/M1A1-R2D2<span class="synStatement">|</span>iPhone<span class="synStatement">|</span>iPod<span class="synStatement">|</span>Android<span class="synStatement">|</span>BlackBerry9530<span class="synStatement">|</span>LG-TU915\ Obigo<span class="synStatement">|</span>LGE\ VX<span class="synStatement">|</span>webOS<span class="synStatement">|</span>Nokia5800″<span class="synStatement">)</span> <span class="synSpecial">{</span>
|
||
<span class="synStatement">set </span><span class="synPreProc">$do_not_cache</span> <span class="synConstant">1</span><span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
proxy_no_cache <span class="synPreProc">$do_not_cache</span><span class="synStatement">;</span>
|
||
proxy_cache_bypass <span class="synPreProc">$do_not_cache</span><span class="synStatement">;</span>
|
||
proxy_pass http://backend<span class="synStatement">;</span>
|
||
proxy_cache czone<span class="synStatement">;</span>
|
||
proxy_cache_key <span class="synPreProc">$scheme$proxy_host$uri$is_args$args</span><span class="synStatement">;</span>
|
||
proxy_cache_valid <span class="synConstant">200</span> 10m<span class="synStatement">;</span>
|
||
proxy_redirect off<span class="synStatement">;</span>
|
||
proxy_set_header Host <span class="synPreProc">$host</span><span class="synStatement">;</span>
|
||
proxy_set_header X-Real-IP <span class="synPreProc">$remote_addr</span><span class="synStatement">;</span>
|
||
proxy_set_header X-Forwarded-Host <span class="synPreProc">$host</span><span class="synStatement">;</span>
|
||
proxy_set_header X-Forwarded-Server <span class="synPreProc">$host</span><span class="synStatement">;</span>
|
||
proxy_set_header X-Forwarded-For <span class="synPreProc">$proxy_add_x_forwarded_for</span><span class="synStatement">;</span>
|
||
}
|
||
}
|
||
server <span class="synSpecial">{</span>
|
||
listen <span class="synConstant">80</span><span class="synStatement">;</span>
|
||
server_name www3232u.sakura.ne.jp <span class="synConstant">59</span>.<span class="synConstant">106</span>.<span class="synConstant">177</span>.<span class="synConstant">26</span> localhost<span class="synStatement">;</span>
|
||
access_log /var/log/nginx/sakura.access.log<span class="synStatement">;</span>
|
||
error_log /var/log/nginx/sakura.error.log<span class="synStatement">;</span>
|
||
location /~kazu634/ <span class="synSpecial">{</span>
|
||
rewrite ^.*/~kazu634<span class="synStatement">(</span>/.*<span class="synStatement">)</span> http://blog.kazu634.com<span class="synPreProc">$1</span><span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
location / <span class="synSpecial">{</span>
|
||
<span class="synStatement">return</span> <span class="synConstant">404</span><span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
location /nginx_status <span class="synSpecial">{</span>
|
||
stub_status on<span class="synStatement">;</span>
|
||
access_log off<span class="synStatement">;</span>
|
||
allow <span class="synConstant">127</span>.<span class="synConstant"></span>.<span class="synConstant"></span>.<span class="synConstant">1</span><span class="synStatement">;</span>
|
||
deny all<span class="synStatement">;</span>
|
||
<span class="synSpecial">}</span>
|
||
<span class="synSpecial">}</span>
|
||
</pre>
|
||
</div> |