Salut
j’utilise un FreeBSD avec une jail nginx pour reverse proxy vers différents services selon le nom dns
et dans certains cas, selon l'uri
ma conf est en gros :
dans /usr/local/etc/nginx/nginx.conf
Code:
user  www;
worker_processes  2;
events {
  worker_connections  1024;
  multi_accept off;
}
http {
  include  mime.types;
  default_type  application/octet-stream;
  server_names_hash_bucket_size 64;
  client_max_body_size 64m;
  sendfile on;
  tcp_nopush on;
  tcp_nodelay on;
  keepalive_timeout 60;
  keepalive_requests 100;
  #gzip  on;
  include sites-enabled/vhost_*.conf;
} 
dans un répertoire /usr/local/etc/nginx/site_enabled
un fichier default :
Code:
server {
  listen 80 default_server;
  server_name localhost;
  index index.html index.htm;
  server_tokens 'off';
  location '/.well-known/acme-challenge' {
  default_type "text/plain";
  root  /www/letsencrypt-auto;
  }
}
qui ne sert qu'à letsencrypt pour renouveler mes certifcats ssl
   
un fichier par vhost  sur ce modèle :
Code:
server {
  listen 443 ssl;
  server_name $MY_FQDN;
  index index.html index.htm;
  server_tokens 'off';
  ssl_certificate  /$PATH_TO_MY_FQDN_CERT/fullchain.pem;
  ssl_certificate_key  /$PATH_TO_MY_FQDN_KEY/privkey.pem;
  ssl_session_cache  shared:SSL:1m;
  ssl_protocols TLSv1.2;
  ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
  ssl_prefer_server_ciphers  on;
  ssl_dhparam /usr/local/etc/letsencrypt/dhparam.pem;
  location / {
  proxy_pass http://$MON_SERVICE_INTERNE:$SON_PORT/;
  }
} 
cas d'un vhost redirigeant selon l'uri
Code:
server {
  listen 443 ssl;
  server_name $AUTRE_FQDN;
  index index.html index.htm;
  server_tokens 'off';
  ssl_certificate  /usr/local/etc/letsencrypt/live/$AUTRE_FQDN/fullchain.pem;
  ssl_certificate_key  /usr/local/etc/letsencrypt/live/$AUTRE_FQDN/privkey.pem;
  ssl_session_cache  shared:SSL:1m;
  ssl_protocols TLSv1.2;
  ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
  ssl_prefer_server_ciphers  on;
  ssl_dhparam /usr/local/etc/letsencrypt/dhparam.pem;
  location / {
  proxy_pass http://$SITE_INTERNE/;
  sub_filter 'http://$SITE_INTERNE/' 'https://$AUTRE_FQDN/';
  sub_filter_last_modified on;
  }
  location /service1/ {
  proxy_pass http://ip_service1:81/;
  }
  location /service2/ {
  proxy_pass http://ip_service2:81/;
  }
}
l'ordre des location est importante....
je crois que j'avais utilisé sub_filter pour éviter que le site renvois la vrai url dans un cas ou détecte que le service est via un reverse proxy..  je sais plus... 
si tu héberges une jail nginx sur ton Freenas et que tu reverseproxy des services sur ton Freenas, pas forcément besoin de ssl entre eux je dirais
pour tester, modifies ton fichier hosts et testes en interne  ton reverse proxy
en espérant que ca peut t'aider