J'exécute une application Sinatra derrière passenger/nginx. J'essaie de faire en sorte qu'elle réponde à la fois aux appels http et https. Le problème est que, lorsque les deux sont définis dans le bloc serveur, les appels https sont traités normalement, mais les appels http produisent une erreur 400 "La demande HTTP simple a été envoyée au port HTTPS". Il s'agit d'une page statique, donc je suppose que Sinatra n'a rien à voir avec cela. Avez-vous des idées sur la façon de résoudre ce problème ?
Voici le bloc du serveur :
server {
listen 80;
listen 443 ssl;
server_name localhost;
root /home/myhome/app/public;
passenger_enabled on;
ssl on;
ssl_certificate /opt/nginx/ssl_keys/ssl.crt;
ssl_certificate_key /opt/nginx/ssl_keys/ssl.key;
ssl_protocols SSLv3 TLSv1;
ssl_ciphers HIGH:!aNULL:!MD5;
location /static {
root /home/myhome/app/public;
index index.html index.htm index.php;
}
error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
error_page 500 /500.html;
access_log /home/myhome/app/logs/access.log;
error_log /home/myhome/app/logs/error.log;
}