Angular / cli development server c9.io को चलाने पर "अमान्य होस्ट हेडर"


84

वर्तमान आदेश: ng serve --host --public $IP:$PORT

मेरी वेबसाइट पर परिणाम:

अमान्य होस्ट हेडर


यह ऊपर जैसा ही है ... समान परिणाम
ओलेज्स

जवाबों:


103

--disable-host-checkझंडा ठीक काम करता है अगर आप Cloud9 से चलाने की जरूरत है।

मैं निम्नलिखित कमांड का उपयोग करता हूं:

ng serve --open --host $IP --port $PORT --disable-host-check

यह काम करेगा लेकिन यदि आप उपयोग करते हैं तो आपको --disable-host-checkकंसोल में एक चेतावनी मिलेगी। WARNING: Running a server with --disable-host-check is a security risk. See medium.com/webpack/… अधिक जानकारी के लिए।
कृष्णदास पीसी

1
यह विकल्प अब उपलब्ध नहीं है
edi


19

इस मुद्दे को देखें

निम्न पंक्ति को संपादित करें node_modules/webpack-dev-server/lib/Server.js(पंक्ति 425), इसमें बदलें:

return true;

मैं क्लाउड 9 आईडीई का उपयोग कर रहा हूं फिर चलाएं ng serve --port 8080 --host 0.0.0.0:। अब ठीक काम करता है।


27
आप परिशिष्ट के अनुसार एडिट कोड के बिना चला सकते हैं --disableHostCheck सच एनजी परोसें --host 0.0.0.0 --port 8080 --disableHostCheck true
tarn

3
नोड_मॉड्यूल्स / वेबपैक-देव-सर्वर / lib / Server.js में निम्न पंक्ति बदलें: यदि (यह ।.dableableHostCheck) सही है; सच लौटने के लिए परिवर्तन;
राकेश कश्यप

यह देखें कि क्या हो रहा है, इसके बारे में जागरूक होने के लिए, अक्षम हो रहे है, इस AngHL CLI GitHub के मुद्दों को अक्षम करें।
19

एडिटिलोए का जवाब बहुत बेहतर है
मैथ्यू डोलमैन

3
रनng serve --host 0.0.0.0 --disable-host-check
उबैद आज़ाद

15

यह मेरे लिए काम करता है:

ngrok http --host-header=rewrite PORT

उदाहरण के लिए :

ngrok http --host-header=rewrite 4200

ओपी को जवाब की जरूरत नहीं है, लेकिन वैसे भी इसे जोड़ने के लिए धन्यवाद। प्रोजेक्ट सेटिंग्स को बदलने के बिना एनक्रोच टनलिंग के लिए काम करता है।
लुइज़ोयोला

13

मेरे मामले में, मैं अपने होस्ट नाम का उपयोग अद्यतन / आदि / होस्ट फ़ाइल करने के लिए करता हूं।

vi /etc/hosts

और अंतिम पंक्ति में अपना होस्ट नाम जोड़ें।

127.0.0.1 myHostName.com

मेरा सर्वर कनेक्ट करने के लिए,

ng serve -o

MyHostName.com:4200 से कनेक्ट करते समय एक त्रुटि हुई ।

तो, मैंने ऐसा किया,

ng serve --host 0.0.0.0 --disableHostCheck true

MyHostName.com:4200 पर पुन: कनेक्ट हो रहा है :)


1
यह मेरे लिए काम करने के लिए काम कर रहा है --host 0.0.0.0 --disableHostCheck सच। धन्यवाद @CookAtRice
विनय पंड्या

11

आपको निम्नलिखित को चलाने की आवश्यकता है:

ng serve --port 8080 --publicHost 123.34.56.78 // your server ip or host name.

मेरे लिये कार्य करता है।


एनजी सर्व --पोर्ट 8080 --पब्लिसहोस्ट 0.0.0.0
नितिन।

8

नीचे दिए गए आदेश का उपयोग करना मेरे लिए काम करता है।

ng serve --host 0.0.0.0 --port 8080  --public ipAddress

1
यह काम करता हैं। लेकिन मुझे ऑनलाइन '- रिपब्लिक' विकल्प के बारे में स्पष्टीकरण कहां मिल सकता है? मुझे केवल
niaomingjian

8

Angular.json में, आर्किटेक्ट के नीचे निम्नलिखित जोड़ें -> सेवा -> विकल्प

"disableHostCheck": true

इस Github अंक पृष्ठ से जवाब मिला


1
केवल यह बताना चाहते हैं कि यह मशीन पर स्थानीय रूप से चलने के लिए समस्या का समाधान करता है। मुझे यकीन नहीं है अगर यह ऊपर दिए गए ओपी मूल प्रश्न के अनुसार क्लाउड 9 के लिए इसे हल करता है।
टॉम डोए

यह एक सही समाधान है यदि आप इसे हर पर सक्षम करना चाहते हैं ng serve(और शायद आप विकास में चाहते हैं)
jowey

6

मुझे बिटकॉइन की छवि वाले AWS EC2 उदाहरण पर अपने कोणीय एप्लिकेशन को तैनात करने के बाद उसी त्रुटि का सामना करना पड़ रहा था। फिर मैंने नीचे कमांड के साथ अपना ऐप लॉन्च किया और यह ठीक काम किया।

ng serve --host 0.0.0.0 --port 8080 --disableHostCheck true

6

मेरे लिए कोणीय सीएलआई: 6.0.7 के लिए नीचे दिए गए कार्यों का उपयोग करें

ng serve --host 0.0.0.0 --port 8080 --disableHostCheck

4

कोणीय और सर्वर अमेज़न के नीचे संस्करण पर परीक्षण किया गया।

Angular CLI: 6.0.8
Node: 8.11.3
OS: linux x64
Angular: 5.2.8

एनजी कमांड विकल्प बदल दिए गए हैं, अब configurationइसके बजाय उपयोग करें env। मेरे लिए जो कमांड ने काम किया है

 ng serve --configuration=dev  --port 4009 --host 0.0.0.0 --publicHost myhost.com

--disable-host-checkसार्वजनिक सर्वर पर कभी भी उपयोग न करें । यदि आप इसका उपयोग करते हैं तो कोणीय आपको चेतावनी देगा। यह काम कर सकता है लेकिन यह एक गंभीर सुरक्षा मुद्दा है। यदि आप उस ध्वज का उपयोग करते हैं तो आपको यह संदेश मिलेगा।

चेतावनी: -डिजेबल-होस्ट-चेक के साथ सर्वर चलाना एक सुरक्षा जोखिम है। अधिक जानकारी के लिए https://medium.com/webpack/webpack-dev-server-middleware-security-issues-1489d950874a देखें ।

कृपया उस लेख को पढ़ने के लिए कुछ समय लें, यह पढ़ने योग्य है।


यह मेरे लिए काम करता है, लेकिन सार्वजनिक-होस्ट के लिए ब्राउज़र में उपयोग किए जाने वाले सटीक उपडोमेन को शामिल करना आवश्यक था:ng serve --host 0.0.0.0 --public-host sub.myhost.com
Cel

3

यह वास्तव में यूट्यूब वीडियो टिप्पणियों में से एक में धन्यवाद के लिए हल किया गया था Mateusz Sawa

इसे देखने के लिए यहां जाएं ।

- package.json में एक होस्ट निर्दिष्ट नहीं करता है और काम नहीं करता है -

बस ध्यान दें कि वीडियो में उपयोग की गई कमांड का उपयोग करना आवश्यक नहीं है, नियमित angular-cliविकास का उपयोग करके ऐप को काम करने के लिए बोल्ड निर्देश पर्याप्त हैं

सबसे पहले आपको आदि / फोल्डर में मेजबानों को खोजने की जरूरत है

cd ..कंसोल में टाइप करें जब तक आप लिनक्स मशीन की जड़ तक नहीं पहुंचते हैं और lsसूचीबद्ध होने के साथ हमेशा जांच करते हैं

यदि आप मेजबान फ़ाइल देखते हैं , तो आप सही स्थान पर हैं और फिर sudo vi hostsउसे संपादित करने के लिए उपयोग करते हैं

सभी आईपी पतों को पंक्तिबद्ध करें "0.0.0.0 yourworkspace-yourusername.c9users.io " (पाठ्यक्रम के उद्धरण के बिना :-))

पैकेज में भी। "परिवर्तन" शुरू करें: "एनजी सर्व करें -H yourworkspace-yourusername.c9usus.io "

फिर आपको बस एप्लिकेशन फ़ोल्डर में जाना होगा और टर्मिनल में ऐप शुरू करना होगा npm start

अभी इसकी जाँच की और यह काम किया


2

मेरे लिए काम करता है के नवीनतम संस्करण के साथ नीचे दिए गए आदेश का उपयोग करना।

ng serve --host 0.0.0.0 --public-host <workspace>-<username>.c9users.io

2

नीचे दोनों समाधान काम करेंगे। कमांड लाइन में:

ng serve --public --host yourip --port yourportnumber

ng serve --host 0.0.0.0 --port yourport --disableHostCheck true


1

मुझे वही त्रुटि मिली। मेरे लिए सार्वजनिक विकल्प हल समस्या नीचे की तरह:

ng serve --host 0.0.0.0 --port 8080 --live-reload-port 8081 --public $C9_HOSTNAME

1

एनजी सेवा --होस्ट 0.0.0.0 --पोर्ट 1234 - रिपब्लिक-होस्ट mydomain.com

यह मेरे लिए काम करता है।



0

आपको अपने स्थानीय IP पते को 192.168.1.42 की तरह 0.0.0.0 बदलना चाहिए और यह काम करना चाहिए।

ng serve --host 192.168.1.42

0

बात यह है कि आप केवल उस लिंक को एक्सेस कर सकते हैं जिसे आपने --public पैरामीटर में निर्दिष्ट किया है। मेरे मामले में, मैंने --public में आईपी पता प्रदान किया है और उस आईपी के खिलाफ पंजीकृत डोमेन के साथ इसे एक्सेस करने की कोशिश कर रहा हूं। लेकिन एनजी इसे - रिपब्लिक में प्रदान किए गए एकमात्र मेजबान के लिए बांधता है।

इस समस्या को हल करने के लिए, मैंने एक और पैरामीटर की आपूर्ति की disable-host-check:। पूरा आदेश:ng serve --disable-host-check --host 0.0.0.0 --port 3100 --public x.x.x.x

अधिक जानने के लिए, यहां क्लिक करें


0

localtunnelउपयोगिता का उपयोग करते हुए हमारे ऐप को एक्सेस करने की कोशिश करते समय मुझे यह त्रुटि मिली।

@tarn का सुझाव (स्वीकृत उत्तर पर टिप्पणी से) कमांड में जोड़ने के --disableHostCheck trueलिए ng serveकिया।


0

यहाँ समाधान है अगर कोई अभी भी अंदर फंस गया है invalid host header समस्या है:

भागो ng ejectयह पैदा करेगा webpack.config.js। भागो npm installअगर यह पूछ रहा है। नीचे जोड़े "disableHostCheck":trueके लिए devServer में webpack.config.js। नीचे की तरह:

"devServer": {
    "historyApiFallback": true,
    "disableHostCheck" : true //<-- add this line
  }

इसके बाद package.jsonफाइल चेंज startऑप्शन में ngइस तरह से

"start": "webpack-dev-server --host 0.0.0.0 --port YOURPORT --public YOURIP:YOURPORT"

अब कोणीय npm startकमांड के साथ चलाएं । बस।


0

सभी वर्कअराउंड के लिए धन्यवाद, -disable-host-check मेरे लिए काम करता है, लेकिन मुझे समझ में नहीं आता है कि मुझे उस वर्कअराउंड का उपयोग क्यों करना है, मैं किसी भी नए एनजी एप्लिकेशन की तरह सेवा क्यों नहीं कर सकता।



-3

लाइन 425 को फ़ाइल "node_modules / webpack-dev-server / lib / Server.js" में असत्य से सत्य में बदलें। अर्थात,

पहले: झूठे वापस;

अपडेट किया गया: सच्चा लौटें;


कुछ और विवरण जोड़ें।
मैथ्यूज सनी

आपको नोड विक्रेताओं को स्पर्श नहीं करना चाहिए
पाब्लो डब्ल्यू।
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.