मैं अपने स्थानीय कंप्यूटर में Nginx
और आरओआर वेब सर्वर (जैसे Unicorn
, Thin
या WEBrick
) द्वारा अपने स्थानीय कंप्यूटर में रेल रूबी पर अपनी रूबी को तैनात करना चाहता हूं।मैं nginx प्रॉक्सी पास के माध्यम से सबडोमेन तक क्यों नहीं पहुंच सकता?
नीचे दिखाया गया है, मैं post
उप डोमेन के आधार पर अपने वेब ऐप्लिकेशन पर पहुंच चाहते हैं:
upstream sub {
server unix:/tmp/unicorn.subdomain.sock fail_timeout=0;
# server 127.0.0.1:3000;
}
server {
listen 80;
server_name post.subdomain.me;
access_log /var/www/subdomain/log/access.log;
error_log /var/www/subdomain/log/error.log;
root /var/www/subdomain;
index index.html;
location/{
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;
proxy_redirect off;
try_files /system/maintenance.html $uri $uri/index.html $uri.html @ruby;
}
location @ruby {
proxy_pass http://sub;
}
}
सब कुछ ठीक काम कर रहा है और जब मैं post.subdomain.me
टाइप मैं अपने आतंक विरोधी एप्लिकेशन देख सकते हैं।
समस्या: जब मैं post.subdomain.me
यूआरएल का उपयोग मैं अपने उप डोमेन में उपयोग नहीं कर सकते (request.subdomain
रिटर्न खाली और request.host
रिटर्न subdomain
subdomain.me
के instaed)। लेकिन जब मैं post.subdomain.me:3000
का उपयोग करता हूं तो हर चीज सही काम करती है (मैंने इसे महसूस करने के लिए अपने बाल का आधा खो दिया)। मैं इसे कैसे और कैसे हल कर सकता हूं?
HTTP सर्वर के लिए आप क्या उपयोग कर रहे हैं? आपने यूनिकॉर्न, थिन और वेब्रिक का उल्लेख किया लेकिन आपने यह नहीं कहा कि आपने किसने कोशिश की थी। –
@ टॉमल: उन सभी के साथ मुझे एक ही समस्या है। –
आपके सभी 'proxy_xxx' निर्देश गलत' स्थान 'ब्लॉक में हैं। आपको उन्हें 'स्थान @ रूबी' ब्लॉक में 'proxy_pass' निर्देश के साथ रखने की आवश्यकता है, अन्यथा उन्हें अनदेखा कर दिया जाएगा। –