निकट भविष्य में मेरे पास 3 nginx सर्वर होने वाले हैं। एक दो अन्य के लिए एसएसएल के लिए एक रिवर्स प्रॉक्सी है। इसलिए, उदाहरण के लिए, मैं जाता हूं:
https://www.mysitename.com/site1
इस उदाहरण में दो अन्य सर्वर साइट 1 और साइट 2 हैं। मैंने प्रॉक्सी पर एसएसएल प्रमाणपत्र स्थापित किया है और मैं एक रिवर्स प्रॉक्सी का उपयोग करना चाहता हूं (एसएसएल आवश्यक नहीं है क्योंकि सभी 3 एक आंतरिक नेटवर्क पर हैं)। परीक्षण के उद्देश्य से मैं एसएसएल / रिवर्स-प्रॉक्सी के लिए 443 पर nginx सुन रहा हूं, सुनो पोर्ट 8081 जो साइट 1 के लिए एक रेल ऐप है और साइट 2 के लिए 8082 है।
मेरे पास यह है...
server {
listen 443;
server_name mysitename.com;
ssl on;
ssl_certificate ssl/mysitename.com.crt;
ssl_certificate_key ssl/mysitename.com.key;
keepalive_timeout 60;
location /site1 {
proxy_pass http://localhost:8081;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http:// https://;
}
location /site2 {
proxy_pass http://localhost:8082;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_redirect http:// https://;
}
}
इसलिए जब मैं www.mysitename.com/site1 पर जाता हूं, तो मैं चाहता हूं कि यह मूल रूप से वापस आ जाए जो सामान्य तौर पर लोकलहोस्ट से आएगा: 8081 (या बाद में लाइन को किसी अन्य सर्वर के लिए आंतरिक आईपी)।
वहाँ एक तरीका है कि यह "साइट 1" स्थानीयहोस्ट कॉल से पट्टी है? ऐसा लगता है कि यह स्थानीयहोस्ट: 8081 / साइट 1 का उपयोग कर रहा है। साइट 1 और साइट 2 साइट प्रकृति के हैं "/ लॉगिन / इंडेक्स" या "/ जो भी / सूची", आदि, कोई "1%" नहीं।
साइट नियंत्रकों (रीडायरेक्ट_टो का उपयोग करके) में रीडायरेक्ट भी होते हैं जो / लॉगिन / इंडेक्स / / जो भी / सूची जैसी चीजों से जाते हैं।
क्या मुझे साइट 1 का उपयोग करने के लिए साइट के URL को फिर से डिज़ाइन करना होगा? या NGINX प्रॉक्सी इसे समझ सकता है?
धन्यवाद।