Me preguntaba si nginx es capaz de manejar solicitudes http y https en el mismo puerto . [*]
Esto es lo que estoy tratando de hacer. Estoy ejecutando un servidor web (lighttpd) que maneja solicitudes http y un programa en C que sirve una sección particular del árbol de documentos a través de https. Estos dos procesos se ejecutan en el mismo servidor.
En el nivel de firewall, solo puedo tener un puerto que reenvíe el tráfico a este servidor . Entonces, lo que me gustaría hacer es configurar nginx en este servidor para que escuche las solicitudes en un solo puerto y luego:
A) redirige todas las solicitudes http://myhost.com/ * para que vayan a localhost: 8080 (donde lighttpd está escuchando)
B) si un usuario solicita una URL que comienza con, por ejemplo, https: // myhost.com/app, envía esa solicitud a localhost: 8008 (programa C). Tenga en cuenta que en este caso, el tráfico entre el navegador remoto y nginx debe estar encriptado.
¿Crees que esto podría ser posible? Si es así, ¿cómo se puede hacer?
Sé cómo hacer esto usando dos puertos diferentes. El desafío que enfrento es hacer esto con un solo puerto (desafortunadamente, no tengo control sobre la configuración del firewall en este entorno en particular, por lo que es una restricción que no puedo evitar). El uso de técnicas como el puerto inverso hacia adelante a través de ssh para evitar el firewall tampoco funcionará, porque esto debería funcionar para usuarios remotos que no tienen más que un navegador web y un enlace a Internet.
Si esto está más allá de las capacidades de nginx, ¿conoce algún otro producto que pueda cumplir con estos requisitos? (hasta ahora no he tenido éxito al configurar esto con lighttpd y pound). También preferiría evitar Apache (aunque estoy dispuesto a usarlo si es la única opción posible).
Gracias de antemano, Alex
[*] Para ser claros, estoy hablando de manejar conexiones HTTP encriptadas y no encriptadas a través del mismo puerto. No importa si el cifrado se realiza a través de SSL o TLS.