end0tknr's kipple - 新web写経開発

http://d.hatena.ne.jp/end0tknr/ から移転します

nginx for windows で https proxy

http://end0tknr.hateblo.jp/entry/20150730/1438251851 以前のエントリに関連しますが、win環境でも、nginxなhttps proxy環境が必要になったので、メモ。

STEP1) nginx設定ファイルを以下のように記述 STEP2) nginx起動. nginx.exe -c conf/nginx_https_proxy.conf STEP3) hostsファイルに127.0.0.1 = www.example.com を記述 (ブラウザのproxyの設定は不要) の3ステップでOKです。

windows版opensslは、別途必要です 例えば、https://slproweb.com/products/Win32OpenSSL.html

daemon off;
worker_processes  1;
error_log  logs/error.log;

events {
       worker_connections  1024;
}

# cd $NGINX_DIR
# nginx.exe -c conf/nginx_https_proxy.conf
# edit c:\windows\system32\drivers\etc\hots
#   127.0.0.1          www.example.com
#   (You don't need setting proxy in browser.)

http {
    log_format proxylog '$remote_addr [$time_local] $server_name:$server_port -> $upstream_addr "$request" $status';
    access_log  logs/access.log  proxylog;

    ssl_certificate      c:/home/endo/tmp/nginx-1.9.6/conf/server.crt;
    ssl_certificate_key  c:/home/endo/tmp/nginx-1.9.6/conf/server.key;
    ssl on;
    ssl_session_cache  builtin:1000  shared:SSL:10m;
    ssl_protocols  TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
    ssl_prefer_server_ciphers on;

    #### HTTP GET https://fan.smart-heim.com

    server {
        listen 443 ssl;
        server_name www.emample.com;

        # 認証コンテンツ(tomcat)
        location / {
          proxy_set_header        Host www.emample.com;
          proxy_set_header        X-Real-IP $remote_addr;
          proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
          proxy_set_header        X-Forwarded-Proto $scheme;
          proxy_read_timeout      90;

          proxy_pass      http://183.79.11.230:80;
          proxy_redirect  http://183.79.11.230  https://www.emample.com;
        }

    }
}