अपाचे का उपयोग करते हुए पोर्ट 80 पर JBoss / TomCat को ट्रैफ़िक पास करने के लिए हमने इंस्टॉल और कॉन्फ़िगर किया था mod_jk
।
क्या नगीनक्स के लिए एक समकक्ष है? मूल रूप से सभी पोर्ट 80 ट्रैफिक को jboss में पास करना चाहते हैं।
अपाचे का उपयोग करते हुए पोर्ट 80 पर JBoss / TomCat को ट्रैफ़िक पास करने के लिए हमने इंस्टॉल और कॉन्फ़िगर किया था mod_jk
।
क्या नगीनक्स के लिए एक समकक्ष है? मूल रूप से सभी पोर्ट 80 ट्रैफिक को jboss में पास करना चाहते हैं।
जवाबों:
नगीनक्स के लिए यहां उनके डॉक्स चेकआउट करें । प्रॉक्सी समर्थन में बनाया गया है।
उनकी साइट से नीचे के उदाहरण में, आप देखेंगे कि पोर्ट 8080 पर चलने वाले एकल सर्वलेट कंटेनर में विशिष्ट पोर्ट 80 ट्रैफ़िक भेजा जा रहा है ।
ध्यान दें कि यदि आप कई बैकेंड सर्वलेट कंटेनर चलाना चाहते हैं (लोड बैलेंसिंग, स्केलिंग, आदि के लिए ...) तो आपको अपस्ट्रीम फेयर मॉड्यूल को देखना चाहिए जो कम से कम व्यस्त बैकेंड सर्वर पर ट्रैफ़िक भेजेगा। इसे डिफॉल w / nginx द्वारा शिप नहीं किया गया है।
server {
listen 80;
server_name YOUR_DOMAIN;
root /PATH/TO/YOUR/WEB/APPLICATION;
location / {
index index.jsp;
}
location ~ \.do$ {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location ~ \.jsp$ {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
location ^~/servlets/* {
proxy_pass http://localhost:8080;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
}
}
इसे करने का एक और तरीका है जैसे कि इसे LikeApache wiki पेज में वर्णित किया गया है ।
server {
listen myhost:80;
server_name myhost;
location / {
root /path/to/myapp/public;
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://myapp:8080;
}
}
मैंने इसे रूट के बजाय / myapp के साथ-साथ परीक्षण किया है और स्थान / myapp और proxypass http: // myapp: 8080 / myapp लगाते हुए भी काम करता है ;
साथ ही, यह कॉन्फ़िगरेशन जावा एप्लिकेशन के लिए सब कुछ मैप करता है, जो तब उपयोगी होता है जब आपके पास अच्छे URL होते हैं जो स्ट्रट्स के साथ MVC फ्रेमवर्क द्वारा मैप किए जाते हैं।
अब nginx के लिए एक बहुत ताजा ajp_module है । मुझे इसके साथ अनुभव नहीं है, लेकिन मुझे लगता है कि सत्र चिपचिपाहट और विशेष रूप से लगातार बैकेंड कनेक्शन टॉमकैट के लिए काफी सहायक हैं। दोनों विधियाँ (http प्रॉक्सी या ajp प्रॉक्सी) लंबे समय तक चलने वाले प्रश्नों (धूमकेतु) या बड़े फ़ाइल स्थानांतरण (अपलोड) के लिए दुखद रूप से अनम्य हैं।
https://github.com/yaoweibin/nginx_ajp_module#readme
lighttpd BTW में एक सामान्य प्रॉक्सी मॉड्यूल है जो FCGI, HTTP, CGIS और AJP13 एन्कोडिंग को संभाल सकता है। यह एक बेहतर दृष्टिकोण की तरह दिखता है (लेकिन मुझे लगता है कि इसे पढ़ने से यह समान सीमाएं हैं जिनके संबंध अनैतिक लंबे / बड़े अनुरोध / प्रतिक्रिया पैटर्न हैं)।