2012年5月25日金曜日

nginxでリバースプロキシ(sslあり)

どうも、俺@華金です。

今日はnginxでリバースプロキシしちゃうぞ!(SSL付き)のメモです。
※nginx v1.2.0です。

# vim /path/to/nginx.conf
--------------------------------------
user nobody;
worker_processes 1;
events {
  worker_connections 256;
}

http {
  # この辺は環境にあわせて
  include /path/to/nginx/conf/mime.types;
  default_type application/octet-stream;
  sendfile on;
  keepalive_timeout 10;

  server {
    # 1080ポートで待ち受け
    listen 1080;
    server_name koexuka.blogspot.jp;

    # ここからリバースプロキシ設定
    location / {
      # 192.168.0.10の80番ポートへリバースプロキシする
      proxy_pass http://192.160.0.10:80/

      # ヘッダ情報付与
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header X-Forwarded-Host $host;
      proxy_set_header X-Forwarded-Server $host;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header X-Forwarded-Proto http;
    }
  }

  # SSLのリバースプロキシ設定

  server {
    # 1081ポートで待ち受け
    listen 1081;
    server_name koexuka.blogspot.jp;
    # SSL設定
    ssl on;
    ssl_certificate /path/to/server.crt; # SSL証明書パス
    ssl_certificate_key /path/to/server.key; # SSL鍵パス
    ssl_session_timeout 5m;
    ssl_protocols SSLv2 SSLv3 TLSv1; # 環境にあわせる
    ssl_ciphers HIGH:!aNULL:!MD5; # 環境にあわせる
    ssl_prefer_server_ciphers on;
    # ここからリバースプロキシ設定     location / {       # 192.168.0.10の443番ポートへリバースプロキシする       proxy_pass https://192.160.0.10:443/       # ヘッダ情報付与       proxy_set_header X-Real-IP $remote_addr;       proxy_set_header X-Forwarded-Host $host;       proxy_set_header X-Forwarded-Server $host;       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;       proxy_set_header X-Forwarded-Proto https;     }   } }

以上!簡単!

これでサーバの1080番ポートへのhttpパケットは192.168.0.10の80番ポートへ、
1081番ポートへのhttpsパケットは192.168.0.10の443番ポートへ送られます。



以上でぇぇえぇぇぇす。

0 件のコメント: