Vreau să găzduiesc un site web și să rulez un proiect de microservicii pe propriul meu server.
- Site-ul web va fi rulat cu serverul web Nginx. Domeniul site-ului web va arăta ca sampleapp.com și acest site web va folosi freessl. 
- Unul dintre serviciile proiectului Microservice va fi rulat cu serverul web Nginx ca serviciu într-un container docker. Acest serviciu folosește subdomenii ale meu sampleapp.com, cum ar fi api-dev.sampleapp.com, iar acele subdomenii ar trebui să funcționeze și cu SSL. 
Când încerc să implementez servicii cu docker-compose, primesc următoarea eroare:
[avertisment] 1#1: nume de server conflictual „api-dev.sample.com” activat
0.0.0.0:80, ignorat
Principala preocupare este că cum pot configura ssl în interiorul docker. 443 este portul implicit pentru HTTPS.
Fișierul de configurare Nginx al microserviciului meu este ca mai jos.
worker_proceses auto;
evenimente {
  conexiuni_muncitor 1024;
}
http {
  Server {
    asculta 80 default_server;
    numele serverului "";
    întoarcere 444;
  }
  Server {
    nume_server game-dev.sampleapp.com;
    Locație / {
      proxy_set_header X-Real-IP $adresă_la distanță;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Gazdă $http_host;
      proxy_set_header X-NginX-Proxy true;
      proxy_http_versiunea 1.1;
      proxy_set_header Actualizare $http_upgrade;
      proxy_set_header Conexiune „upgrade”;
      proxy_pass http://game_nodes;
      proxy_redirect dezactivat;
    }
  }
  Server {
    dacă ($gazdă = game-dev.sampleapp.com) {
      returnează 301 https://$host$request_uri;
    }
    asculta 80;
    asculta [::]:80;
    nume_server game-dev.sampleapp.com;
    întoarce 404;
  }
  game_nodes în amonte {
# activați sesiunea sticky
 # ip_hash;
    server game-alpha:3000;
    keepalive 8;
  }
  Server {
    nume_server api-dev.sampleapp.com;
    Locație / {
      proxy_set_header X-Real-IP $adresă_la distanță;
      proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header Gazdă $http_host;
      proxy_set_header X-NginX-Proxy true;
      proxy_pass http://main_nodes;
      proxy_redirect dezactivat;
    }
  }
  Server {
   # dacă ($gazdă = api-dev.sampleapp.com) {
    # return 301 https://$host$request_uri;
    #}
    asculta 80;
    asculta [::]:80;
    nume_server api-dev.sampleapp.com;
    întoarce 404;
  }
  noduri principale din amonte {
    server main-alpha:8000;
    server main-beta:8000;
    keepalive 8;
  }
}
Fișierul de configurare Nginx al site-ului este ca mai jos
Server {
    asculta 8080;
    asculta [::]:8080;
    asculta 8443 ssl http2;
    asculta [::]:8443 ssl http2;
    nume_server sampleapp.com www.sampleapp.com;
    rădăcină /var/www/sampleapp.com;
    index index.html;
    ssl_certificate /etc/ssl/certs/sampleapp.com.pem;
    ssl_certificate_key /etc/ssl/private/sampleapp.com.key;
    ssl_client_certificate /etc/ssl/certs/origin-pull-ca.pem;
    ssl_verify_client activat;
    client_max_body_size 100M;
  
    autoindex dezactivat;
    Locație / {
        try_files $uri $uri/ =404;
    }
}
Sunt dezvoltator, nu administrator de sistem, așa că îmi este greu să-mi dau seama care este cea mai bună modalitate de a face acest lucru.