リーバイス・プロキシ構成は、よく利用しますが、通常?のプロキシは初めて構築したかも。
しかも、今回は nginxですしね。
proxyとして、動作させる nginxの設定ファイル
daemon off; worker_processes 1; error_log /dev/stdout error; events { worker_connections 1024; } http { log_format proxylog '$remote_addr [$time_local] $server_name:$server_port -> $upstream_addr "$request" $status'; access_log /dev/stdout proxylog; ssl_certificate /home/endo/local/sslproxy/server.crt; ssl_certificate_key /home/endo/local/sslproxy/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://sample.example.com/sso/UI/Login?realm=/sso server { listen 443 ssl; server_name sample.example.com; # 動的コンテンツ(tomcat) location / { proxy_set_header Host sample.example.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://10.82.XXX.YYY:28080; proxy_redirect http://10.82.XXX.YYY https://sample.example.com; } # 静的コンテンツ(nginx) location ~ ^/(css|js|images|header.html|footer.html|logout|login|.*\.html|subblocks) { proxy_set_header Host sample.example.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://10.82.XXX.YYY:8080; proxy_redirect http://10.82.XXX.YYY https://sample.example.com; } } }
proxyとして、動作させる nginxの起動
$ /home/endo/local/nginx19/sbin/nginx \ -c /home/endo/local/nginx19/conf/nginx_ssl_proxy.conf
あとは、ブラウザでアクセス
https://sample.example.com/path/to/app
c:/Windows/System32/drivers/etc/hosts の編集もお忘れなく
sample.example.com = nginxが起動しているip を登録して下さい