我有一个正在运行的Docker容器(.net Web应用程序),它与 http://xx.xx.xx.xx:aaaa 完美配合。现在,我想对同一应用使用自签名证书,就像 https://xx.xx.xx.xx:aaaa 。为此,我尝试使用如下所示的 Nginx :
通过向其安装certificates
和conf
来运行nginx容器,并向其添加docker bridge
网络IPAM
网关,如下所示。
用于运行nginx容器的命令是:
docker container run --name nginx_proxy -d -v
密码:/etc/nginx/conf.d -p 443:443 nginx
和conf
文件类似于:
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/conf.d/cert.pem;
ssl_certificate_key /etc/nginx/conf.d/key.pem;
location / {
proxy_pass http://172.17.0.1:4000;
}
}
然后适用于https://xx.xx.xx.xx的https。然后我尝试将其他正在运行的容器IP(如下所示)添加到配置文件中,
server {
listen 443;
ssl on;
ssl_certificate /etc/nginx/conf.d/cert.pem;
ssl_certificate_key /etc/nginx/conf.d/key.pem;
location / {
proxy_pass http://172.17.0.1:4000;
}
}
server {
listen 8888;
ssl on;
ssl_certificate /etc/nginx/conf.d/cert.pem;
ssl_certificate_key /etc/nginx/conf.d/key.pem;
location / {
proxy_pass http://172.17.0.3:8888;
}
}
但是没有用。我们可以用这种方式用nginx做到这一点吗,如果可以的话,这是什么问题,或者启动它时是否还有其他方法可以将自签名证书添加到Docker容器中。
希望您对此有所帮助。
答案 0 :(得分:0)
尝试
listen 443 ssl;
.......