guacamole を使う その3 (docker SSL対応編)
本エントリとは直接関連しませんが、まずは宣伝から。
https://jpoug.doorkeeper.jp/events/51429
まだ席に余裕がありますので、興味がある方は是非。
ここからが本題です。
今回もその1,2から続きguacamoleです。
2の手順でも十分問題なく、使えるのですが、ゲートウェイサーバを外部に、置いたりする場合
通信をSSL化したい場合があります。
手順そのものは、以下のURL(guacamoles公式サイト)にあるので、そう難しくはないのですが、
http://guacamole.incubator.apache.org/doc/gug/proxying-guacamole.html
今回はその2に引き続きDocker コンテナで完結させたいと思います。
その2で作成したコンテナがそのまま起動していることを前提とします
#コンテナの作成
docker run --name nginx --link guacamole:guacamole -d -p 443:443 nginx
#nginxコンテナにログイン
docker exec -ti nginx /bin/bash
#オレオレ証明書の作成(ブラウザで証明書のエラーが出ても気にしないことにします)
cd /opt/nginx/certs
openssl genrsa -out server.key 4096
openssl req -new -batch -key server.key -out server.csr
openssl x509 -req -days 3650 -in server.csr -signkey server.key -out server.crt
#nginxのconf作成
cat > /etc/nginx/conf.d/default.conf <<'EOF'
server {
listen 443;
ssl_certificate /opt/nginx/certs/server.crt;
ssl_certificate_key /opt/nginx/certs/server.key;ssl on;
ssl_prefer_server_ciphers on;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers "ECDHE+RSAGCM:ECDH+AESGCM:DH+AESGCM:ECDH+AES256:DH+AES256:ECDH+AES128:DH+AES:!EXPORT:!DES:!3DES:!MD5:!DSS";location /guacamole/ {
proxy_pass http://guacamole:8080/guacamole/;
proxy_buffering off;
proxy_http_version 1.1;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $http_connection;
access_log off;
}
}
EOFexit
#nginx コンテナの再起動
docker stop nginx
docker start nginx
上記設定後、ブラウザから以下のURLへアクセスするとguacamoleにログインできます