Aynı bağlantı noktasında birden çok sunucu çalıştırın


19

Bağlantı noktası 80 üzerinde bir XAMPP sunucusu ve bir Nodejs sunucusu çalıştırmak istiyorum.

Sunucu bir HTTP isteği alırsa, XAMPP bunu ele alır, sunucu bir Websocket isteği alırsa, Nodejs

Bu nasıl mümkün olaiblir? Bir bağlantı noktası zaten kullanılıyorsa, diğer sunucu programını başlatamıyorum.

Yanıtlar:


45

Bunu yapmak için ters bir proxy kullanmanız gerekir, örneğin Apache 2.4. ile mod_proxy_wstunnel .

Bir ön uç olarak kullanın ve ardından bağlantıları uygun arka uca tünelleyin.


22

Aynı IP adresi ve protokolü için belirli bir bağlantı noktasını yalnızca tek bir işlem dinleyebilir, aksi takdirde işletim sistemi alınan paketi hangi işlemin göndereceğini bilemez.

İstediğinizi elde etmek için, 80 numaralı bağlantı noktasını dinleyecek ve trafiği doğru hedefe iletecek bir ters proxy kullanmanız gerekecektir. Bunu yapmanın birçok yolu vardır. Örneğin, web sunucunuzu (Apache) WebSocket isteklerini iletecek şekilde ayarlayabilir veya Node.js'yi HTTP trafiğini iletecek şekilde yapılandırabilirsiniz. Mevcut seçenekleri araştırın ve ihtiyaçlarınıza en uygun olanı seçin.


3

Diğerlerinin daha önce bahsettiği ters proxy seçeneğinin yanı sıra, makineye atanmış birden fazla IP adresiniz olabilir. Bu, IPv4 için maliyeti olabilir (veya sunucunuzun barındırıldığı yere bağlı olarak mevcut olmayabilir), ancak IPv6'yı kullanmak için bir konumdaysanız (yani, bir veya her ikisine bağlanan kişiler veya hizmetleriniz IPv6 özellikli olacaksa) olmamalıdır. . Bu şekilde her iki servis de 80 numaralı portu farklı adreslerde dinleyebilir.

Sadece 80 numaralı bağlantı noktasından bahsettiğiniz gibi HTTPS kullanmadığınızı varsayıyorum. Eğer ters proxy seçeneğini kullanıyorsanız, çok adlı bir SSL sertifikanız olması veya SNI'yi yapılandırmanız ve bazı eski istemcilerin (XP'de IE, eski Android sürümleri) yapamayacağı gerçeğiyle yaşamak gerekir. hatasız bağlanın. Birden fazla adres seçeneği, atanan ek adreslere ihtiyaç duyulması pahasına bu sorunu atlar.


Sadece küçük bir nokta: IP'yi çevirmek için zaten NAT kullanıyorsanız, bağlantı noktası yönlendirmesini de orada yapabilirsiniz. Internet üzerinden erişilebilen bir Apache sunucusu çalıştırıyorsanız ve test için XAMPP kullanmak istiyorsanız, Apache'yi standart olmayan bir bağlantı noktasında çalıştırın ve dahili IP'nin standart olmayan bağlantı noktasına 80 yönlendirici NAT harici bağlantı noktası isteyin. Bu, 80 numaralı bağlantı noktasında XAMPP çalıştırılmasına izin verir.
Calrion
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.