je me demandais si nginx est capable de gérer les requêtes http et https sur le même port . [*]
C'est ce que j'essaie de faire. J'exécute un serveur Web (lighttpd) gérant les requêtes http et un programme C qui dessert une section particulière de l'arborescence de documents via https. Ces deux processus s'exécutent sur le même serveur.
Au niveau du pare-feu, je ne peux avoir qu'un seul port redirigeant le trafic vers ce serveur . Donc, ce que je voudrais faire, c'est configurer nginx sur ce serveur pour qu'il écoute les requêtes sur un seul port, puis:
A) redirige toutes les requêtes http://myhost.com/ * afin qu'elles se dirigent vers localhost: 8080 (où lighttpd écoute)
B) si un utilisateur demande une URL commençant par, par exemple, https: // myhost.com/app, il envoie cette demande à localhost: 8008 (programme C). Notez que dans ce cas, le trafic entre le navigateur distant et nginx doit être chiffré.
Pensez-vous que cela pourrait être possible? Si tel est le cas, comment le faire?
Je sais comment faire cela en utilisant deux ports différents. Le défi auquel je suis confronté consiste à le faire avec un seul port (malheureusement, je n'ai pas de contrôle sur la configuration du pare-feu dans cet environnement particulier, c'est donc une restriction que je ne peux pas éviter). L'utilisation de techniques telles que la redirection de port inverse via ssh pour contourner le pare-feu ne fonctionnera pas non plus, car cela devrait fonctionner pour les utilisateurs distants n'ayant rien de plus qu'un navigateur Web et un lien Internet.
Si cela dépasse les capacités de nginx, connaissez-vous un autre produit qui pourrait répondre à ces exigences? (jusqu'à présent, je n'ai pas réussi à configurer cela avec lighttpd et pound). Je préfère également éviter Apache (même si je suis prêt à l'utiliser si c'est le seul choix possible).
Merci d'avance, Alex
[*] Juste pour être clair, je parle de la gestion des connexions HTTP chiffrées et non chiffrées via le même port. Peu importe que le cryptage soit effectué via SSL ou TLS.