使用https

时间:2018-04-21 10:55:24

标签: docker nginx https

我有两个泊坞容器:

  1. 一个容器运行我的Spring启动应用程序,该应用程序侦听端口8080: 此容器将8080端口暴露给其他docker容器。 docker network中的容器ip是172.17.0.2。
  2. 另一个容器运行nginx,它发布端口80。
  3. 我可以在我的nginx容器中使用以下conf成功将我的spring启动应用程序放在nginx后面:

    server {
    
    server_name <my-ip>;
    
    listen 80;
    
    location / {
        proxy_pass http://172.17.0.2:8080/;
    }
    

    }

    对我的REST API(http://my-ip/context-url)执行GET请求可以正常工作。

    我现在正在尝试使用https将我的应用程序置于nginx之后。我的nginx conf如下:

    server {
    
        server_name <my-ip>;
    
        listen 80;
    
        return 301 https://$server_name$request_uri;
    
    }
    
    server {
    
       server_name <my-ip>;
    
       listen 443;
    
       ssl on;
       ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
       ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
    
       location / {
            proxy_pass http://172.17.0.2:8080/;
        }
    }
    

    但是我现在无法通过http或https访问我的应用程序。 http重定向到https,结果是ERR_CONNECTION_REFUSED

1 个答案:

答案 0 :(得分:0)

问题是我在运行nginx容器时没有发布443端口,只有端口80.nginx配置是正确的。