nginx aynı bağlantı noktasında http ve https isteklerini işleyebiliyor mu diye merak ediyordum . [*]
Yapmaya çalıştığım şey bu. Ben http istekleri işleme bir web sunucusu (lighttpd) ve https yoluyla belge ağacının belirli bir bölümünü sunan bir C programı çalıştırıyorum. Bu iki işlem aynı sunucuda çalışır.
Güvenlik duvarı düzeyinde, bu sunucuya trafik yönlendiren yalnızca bir bağlantı noktasına sahip olabilirim . Yani ne yapmak istiyorum bu sunucuda nginx tek bir bağlantı noktasındaki istekleri dinler ve daha sonra ayarlamaktır:
A) tüm http://myhost.com/ * isteklerini localhost'a yönlendirecek şekilde yönlendirir : 8080 (lighttpd dinliyor)
B) bir kullanıcı, örneğin https: // myhost.com/app ile başlayan bir URL isterse, bu isteği localhost: 8008'e (C programı) gönderir. Bu durumda, uzak tarayıcı ile nginx arasındaki trafiğin şifrelenmesi gerektiğini unutmayın.
Bunun mümkün olabileceğini düşünüyor musun? Eğer öyleyse, nasıl yapılabilir?
Bunu iki farklı bağlantı noktasını kullanarak nasıl yapacağımı biliyorum. Karşılaştığım zorluk bunu tek bir bağlantı noktasıyla yapıyor (maalesef, bu ortamdaki güvenlik duvarı yapılandırması üzerinde kontrole sahip değilim, bu yüzden kaçınamayacağım bir kısıtlama). Güvenlik duvarını atlamak için ssh üzerinden ters bağlantı noktası kullanmak gibi teknikler de işe yaramaz, çünkü bu bir web tarayıcısından ve internet bağlantısından başka bir şeyleri olmayan uzak kullanıcılar için çalışmalıdır.
Bu nginx özelliklerinin ötesindeyse, bu gereksinimleri karşılayabilecek başka bir ürün biliyor musunuz? (Şimdiye kadar bunu lighttpd ve pound ile ayarlamada başarısız oldum). Ayrıca Apache'den kaçınmayı tercih ederim (her ne kadar tek seçenekse kullanmaya istekli olsam da).
Şimdiden teşekkürler, Alex
[*] Açık olmak gerekirse, aynı port üzerinden şifrelenmiş ve şifrelenmemiş HTTP bağlantılarını ele almaktan bahsediyorum . Şifrelemenin SSL veya TLS üzerinden yapılması önemli değildir.