मैं एक एक्सप्रेस-संचालित साइट विकसित कर रहा हूं, जो एक nginx प्रॉक्सी से गुजर रहा है। कभी-कभी जब ब्राउज़र में एक पृष्ठ लोड हो रहा है, मैं इस मिल:एक्सप्रेस और nginx net :: ERR_CONTENT_LENGTH_MISMATCH
GET http://myapp.local/css/bootstrap.css net::ERR_CONTENT_LENGTH_MISMATCH
अगर मैं पेज को ताज़ा, यह आमतौर पर चला जाता है। लेकिन अगर बार-बार ताज़ा हो जाए, तो यह फिर से आएगा।
यहां समस्या क्या है? इस मुद्दे को कम करने के लिए मैं क्या कर सकता हूं?
server {
listen 80;
server_name www.myapp.local;
rewrite ^(.*) http://myapp.local$1 permanent;
}
server {
listen 80;
server_name myapp.local;
access_log /vagrant/nginx/logs/myapp.local/access.log;
error_log /vagrant/nginx/logs/myapp.local/error.log;
location/{
proxy_pass http://localhost:8080;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
यह निश्चित रूप से nginx प्रॉक्सी के साथ कुछ है: यहाँ इस सर्वर के लिए मेरी nginx
conf है। क्योंकि अगर मैं केवल आईपी पते और नोड पोर्ट का उपयोग कर साइट तक पहुंचता हूं: http://10.10.10.10:8080
तो मुझे कभी भी त्रुटि नहीं मिलती है। लेकिन अगर मैं प्रॉक्सी किए गए vhost का उपयोग कर इसे एक्सेस करता हूं: http://myapp.local
तो मुझे अंततः त्रुटि मिल जाएगी (संभवतः मुझे 10 मौकों में से 1 मौका मिलेगा)।
शुरुआत के लिए मैं 'bootstrap.css' से जुड़े सभी अनुरोधों के लिए nginx लॉग ('/var/log/nginx/* ') grep grep होगा। साथ ही, यह [serverfault उत्तर] देखें (http://serverfault.com/questions/67316/in-nginx-how-can-i-rewrite-all-http-requests-to-https-while-maintaining-sub-dom) 'वापसी' कीवर्ड का उपयोग करके एक बेहतर 'पुनर्लेखन' शैली के लिए (वह उत्तर 'https' के बारे में है, लेकिन यह यूआरएल_ से 0 www.' को हटाने के लिए भी काम करेगा। – grochmal