다른 Nginx 뒤에 SSL을 사용하는 Nginx(nginx-proxy 사용)

다른 Nginx 뒤에 SSL을 사용하는 Nginx(nginx-proxy 사용)

두 개의 VMS가 있습니다. 첫 번째는 VM1이고 두 번째는 VM2입니다. 첫 번째는 VPN 서버이고 두 번째는 클라이언트입니다. VM1에서 Nginx는 공식 Docker 저장소의 역방향 프록시로 설치됩니다. VM2에서는 Nginx가 역방향 프록시로 설치됩니다.nginx-proxy Docker 저장소. VM1에서 VM2로 SSL 연결을 설정하려고 하는데 오류가 발생합니다.

컬: (35) 오류:1408F10B:SSL 루틴:ssl3_get_record:잘못된 버전 번호

VM1의 Nginx 구성(80 및 443의 모든 쿼리를 VM2로 리디렉션)

server {
    listen       80;
    listen  [::]:80;
    server_name  _;

    location / {
        proxy_pass http://vm2-client-ip:80;
    }
}

server {
    listen       443;
    listen  [::]:443;
    server_name  _;

    location / {
        proxy_pass http://vm2-client-ip:443;
    }
}

VM2에서 nginx-proxy는 다음 구성을 생성합니다.

# whoami.my-domain.com
upstream whoami.my-domain.com {
    ## Can be connected with "home-network" network
    # who-am-i
    server 10.0.0.2:80;
}
server {
    server_name whoami.my-domain.com;
    listen 80 ;
    access_log /var/log/nginx/access.log vhost;
    # Do not HTTPS redirect Let'sEncrypt ACME challenge
    location ^~ /.well-known/acme-challenge/ {
        auth_basic off;
        auth_request off;
        allow all;
        root /usr/share/nginx/html;
        try_files $uri =404;
        break;
    }
    location / {
        return 301 https://$host$request_uri;
    }
}
server {
    server_name whoami.my-domain.com;
    listen 443 ssl http2 ;
    access_log /var/log/nginx/access.log vhost;
    ssl_session_timeout 5m;
    ssl_session_cache shared:SSL:50m;
    ssl_session_tickets off;
    ssl_certificate /etc/nginx/certs/whoami.my-domain.com.crt;
    ssl_certificate_key /etc/nginx/certs/whoami.my-domain.com.key;
    ssl_dhparam /etc/nginx/certs/whoami.my-domain.com.dhparam.pem;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_trusted_certificate /etc/nginx/certs/whoami.my-domain.com.chain.pem;
    add_header Strict-Transport-Security "max-age=31536000" always;
    include /etc/nginx/vhost.d/default;
    location / {
        proxy_pass http://whoami.my-domain.com;
    }
}

SSL 인증서는 다음을 사용하여 생성됩니다.이 저장소. 이 컨테이너의 로그를 기반으로 인증서가 성공적으로 생성됩니다.

HTTP 연결이 잘 작동합니다. PS 문제가 된다면 두 Nginxes 모두 컨테이너에서 작동합니다.

관련 정보