현재 명령 : ng serve --host --public $IP:$PORT
내 웹 사이트의 결과 :
잘못된 호스트 헤더
답변:
--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/… 을 참조하십시오.
호스트를 지정해야합니다.
ng serve --port 8080 --host 123.34.56.78
이 호 보기
다음 행
node_modules/webpack-dev-server/lib/Server.js
(425 행)을 편집하고 다음으로 변경하십시오.return true;
cloud9 IDE를 사용하고 다음을 실행
ng serve --port 8080 --host 0.0.0.0
합니다.. 이제 잘 작동합니다.
ng serve --host 0.0.0.0 --disable-host-check
이것은 나를 위해 작동합니다.
ngrok http --host-header=rewrite PORT
예 :
ngrok http --host-header=rewrite 4200
제 경우에는 호스트 이름을 사용하여 / etc / hosts 파일을 업데이트합니다.
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에 다시 연결 중 :)
아래 명령을 사용하면 저에게 효과적입니다.
ng serve --host 0.0.0.0 --port 8080 --public ipAddress
angular.json에서 architect-> serve- > options 아래에 다음을 추가하십시오.
"disableHostCheck": true
이 Github 문제 페이지 에서 답을 얻었습니다.
ng serve
(그리고 아마도 당신은 개발하려는)
아래 버전의 Angular 및 서버 Amazon에서 테스트되었습니다.
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
공용 서버에서 사용하지 마십시오 . 이것을 사용하면 Angular가 경고합니다. 작동 할 수 있지만 심각한 보안 문제입니다. 해당 플래그를 사용하면이 메시지를 받게됩니다.
경고 : --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
이것은 Mateusz Sawa 덕분에 YouTube 동영상 댓글 중 하나에서 실제로 해결되었습니다.
-package.json에서 호스트 지정이 더 이상 작동하지 않음-
비디오에 사용 된 명령을 사용할 필요가 없다는 점에 유의하기 만하면 다음 지침으로도 앱이 정기적 인 angular-cli
개발을 통해 작동하도록 할 수 있습니다.
먼저 etc / 폴더 에서 호스트 를 찾아야 합니다.
cd ..
Linux 시스템의 루트에 도달 할 때까지 콘솔에 입력 하고 ls
나열된 항목을 항상 확인하십시오.
호스트 파일 이 표시되면 올바른 위치에있는 것보다 sudo vi hosts
이를 사용 하여 편집하십시오.
모든 ip 주소 "0.0.0.0 yourworkspace-yourusername.c9users.io " 아래에 줄을 추가하십시오 (물론 따옴표없이 :-))
또한 package.json에서 "start"변경 : "ng serve -H yourworkspace-yourusername.c9users.io "
그런 다음 응용 프로그램 폴더로 이동하여 터미널에서 응용 프로그램을 시작하면됩니다. npm start
방금 확인했고 작동했습니다.
참조 : https://github.com/angular/angular-cli/issues/6070
공개 플래그를 사용하십시오. 예를 들면 :ng serve --host <workspace>-<username>.c9users.io --public
문제는 --public 매개 변수에 지정한 링크에만 액세스 할 수 있다는 것입니다. 제 경우에는 --public에 IP 주소를 제공하고 해당 IP에 대해 등록한 도메인으로 액세스를 시도했습니다. 그러나 ng는 --public에 제공된 유일한 호스트에 대해 바인딩합니다.
이 문제를 해결하기 위해 매개 변수를 하나 더 제공 disable-host-check
했습니다.. 완전한 명령 :ng serve --disable-host-check --host 0.0.0.0 --port 3100 --public x.x.x.x
자세한 내용은 여기를 클릭하십시오.
localtunnel
유틸리티를 사용하여 앱에 액세스하려고 할 때이 오류가 발생했습니다 .
추가 (허용 대답에 코멘트에서) @tarn의 제안을 --disableHostCheck true
받는 ng serve
명령은 트릭을했다.
누군가가 여전히 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
명령으로 각도를 실행하십시오. 그게 다야.
"node_modules / webpack-dev-server / lib / Server.js"파일의 425 행을 false에서 true로 변경하십시오. 즉,
이전 : false를 반환합니다.
업데이트 됨 : true를 반환합니다.