[ホスト側] 証明書をつくる

$ cd /etc/nginx/
$ sudo openssl genrsa -des3 -out server.key 1024
$ sudo openssl req -new -key server.key -out server.csr
$ sudo cp server.key server.key.org
$ sudo openssl rsa -in server.key.org -out server.key
$ sudo openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

[ホスト側] Nginxの設定

CentOS7ではサンプルが置いてあったのでそれを基に設定しました

docker run時に、-p [コンテナ側のポート]:443 を指定します

$ cd /etc/nginx/conf.d/
$ sudo cp example_ssl.conf docker_ssl.conf

$ vim /etc/nginx/conf/docker_ssl.conf

server {
	client_max_body_size 500M;

	listen       443 ssl;
	server_name     [ドメイン];

	ssl_session_cache shared:SSL:1m;
	ssl_session_timeout  5m;

	ssl_protocols  SSLv2 SSLv3 TLSv1;
	ssl_ciphers  HIGH:!aNULL:!MD5;
	ssl_prefer_server_ciphers   on;

	location / {
		proxy_pass              https://127.0.0.1:[コンテナ側のポート]/;
		break;
	}
}

[リモート側] Apacheの設定

VirtualHostディレクティブ(*:443)を新規追加。ssl関連の記述を追記

<VirtualHost *:443>
	SSLEngine on
	#SSLProtocol all -SSLv2
	#SSLCipherSuite HIGH:MEDIUM:!aNULL:!MD5:!SEED:!IDEA
	SSLCertificateFile /etc/pki/tls/certs/localhost.crt
	SSLCertificateKeyFile /etc/pki/tls/private/localhost.key

	DocumentRoot "/path/to/docroot/"
	ServerName [ドメイン]
	CustomLog "/var/log/httpd/vhost/example.com-ssl_access.log" combined
	ErrorLog "/var/log/httpd/vhost/example.com-ssl_error.log"

	<Directory "/path/to/docroot/">
		Allowoverride All
		Require all granted
	</Directory>
</VirtualHost>