リーバイス・プロキシ構成は、よく利用しますが、通常?のプロキシは初めて構築したかも。
しかも、今回は 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 を登録して下さい
