Comment un seul serveur virtuel nginx peut-il gérer à la fois les ports 80 et 443?

J’ai un fichier de configuration avec une configuration de serveur virtuel, il s’exécute sur le port 443 pour SSL. Je voudrais aussi que ce même serveur virtuel gère le trafic non ssl sur le port 80.

J’espérais faire ce qui suit mais cela ne semble pas fonctionner.

server { listen 443 ssl; listen 80; server_name example.com; ... } 

Il semble que les options ssl ci-dessous posent des problèmes pour le trafic non ssl.

Enlevez ssl on; directif.

ssl drapeau ssl dans la directive listen est exactement ce dont vous avez besoin.

Voir http://nginx.org/en/docs/http/configuring_https_servers.html#single_http_https_server

Oui bien sûr.

 server { listen 80; listen 443 ssl; # force https-redirects if ($scheme = http) { return 301 https://$server_name$request_uri; } } 

Voici mon post, nommez ” Nginx Configuration for HTTPS ” qui contient plus d’informations.