J'essaie de configurer un serveur Nginx en tant que proxy inverse afin que les demandes https qu'il reçoit des clients soient également transmises au serveur en amont via https.
Voici la configuration que j'utilise:
http {
# enable reverse proxy
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwared-For $proxy_add_x_forwarded_for;
upstream streaming_example_com
{
server WEBSERVER_IP:443;
}
server
{
listen 443 default ssl;
server_name streaming.example.com;
access_log /tmp/nginx_reverse_access.log;
error_log /tmp/nginx_reverse_error.log;
root /usr/local/nginx/html;
index index.html;
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_certificate /etc/nginx/ssl/example.com.crt;
ssl_certificate_key /etc/nginx/ssl/example.com.key;
ssl_verify_client off;
ssl_protocols SSLv3 TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers RC4:HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /
{
proxy_pass https://streaming_example_com;
}
}
}
Quoi qu'il en soit, lorsque j'essaie d'accéder à un fichier à l'aide d'un proxy inverse, c'est l'erreur que je rencontre dans les journaux du proxy inverse:
2014/03/20 12:09:07 [erreur] 4113079 # 0: * 1 SSL_do_handshake () a échoué (SSL: erreur: 1408E0F4: routines SSL: SSL3_GET_MESSAGE: message inattendu) lors de l'établissement d'une liaison SSL en amont, client: 192.168.1.2, serveur: streaming.example.com, requête: "GET /publishers/0/645/_teaser.jpg HTTP / 1.1", en amont: " https://MYSERVER.COM:443/publishers/0/645/_teaser.jpg " , hôte: "streaming.example.com"
Une idée de ce que je fais mal?
la source
upstream
module en plaçant directement WEBSERVER_IP dans la directive proxy_pass pour voir si vous obtenez la même erreur?proxy_ssl_session_reuse off;
a fonctionné comme prévu.Réponses:
J'ai trouvé quelle était l'erreur, je devais ajouter
proxy_ssl_session_reuse off;
la source
Dans mon cas, j'essayais d'inverser le proxy d'un site Web derrière Cloudflare. J'ai la même erreur dans
/var/log/nginx/error.log
. J'ai essayé plusieurs solutions et celle-ci a fonctionné pour moi:oui, même en 2019, certains services ont encore besoin de SNI pour distinguer les sites hébergés.
la source