Reverse Proxy
UCIDM API や管理画面にアクセスするときに HTTPS で通信するためのリバースプロキシを経由します。プロキシサーバーには Nginx を使います。
あらかじめ、お客様のドメイン向けの SSL/TLS サーバー証明書をご用意ください。
proxy:
depends_on:
- admin-ui
- ucidm-ui
- api
container_name: proxy
image: docker.io/library/nginx:stable
logging: *default-logging
ports:
- 8080:80
- 4430:443
- 5443:5443
- 8443:8443
restart: unless-stopped
volumes:
- ./nginx/conf.d:/etc/nginx/conf.d
- ./nginx/ssl:/etc/nginx/ssl
- ./nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- ./nginx/common_proxy.conf:/etc/nginx/common_proxy.conf:ro
nginx の設定ファイル
設定ファイルは /opt/osstech/var/lib/ucidm/nginx
ディレクトリに配置します。
# ls nginx
common_proxy.conf nginx.conf ssl
$ ls nginx/ssl
sample.crt sample.key
これは動作確認テストのために sample.{crt,key} という自己証明書を使った設定をしています。お客様でご用意いただいた SSL/TLS サーバー証明書を nginx/ssl
配下に配置します。
そして Configuring HTTPS servers を参考にして次の2つの設定を行います。
ssl_certificate /etc/nginx/ssl/${サーバー証明書};
ssl_certificate_key /etc/nginx/ssl/${秘密鍵};
UCIDM API の起動後、次のように HTTPS で通信してレスポンスを取得できるかで確認できます。
$ curl -i https://localhost:8443/status/version
HTTP/1.1 200 OK
...
{"serverVersion":"b67adba","idFederationClientVersion":"","mongoDBVersion":"7.0.4","rabbitMQVersion":"3.12.2"}