ローカルホスト外へのアクセスを許可する方法


184

Angular2のローカルホスト外へのアクセスを許可するにはどうすればよいですか?でlocalhost:3030/panel簡単にナビゲートできますが、などのIPを作成するとナビゲートできません10.123.14.12:3030/panel/

修正方法を教えてもらえますか?npm(node project manage-node install / node start)を使用してプロジェクトをインストールおよび実行していません。

あなたがしたい場合、私は提供することができますpackage.jsonindex.html


1
ng serveを使用しますか?
mast3rd3mon 2017

1
はい、私はngサーバーを使用しています
Tonyukuk

2
ng serve --host 10.123.14.12を試しましたか?
Digvijay 2017

1
私はサーブに疲れていて、「サーブコマンドを使用するにはordreのangular--cliプロジェクト内にいる必要があります」と表示されています。
Tonyukuk 2017

回答:


338

を使用ng serve --host 0.0.0.0すると、ng serveではなくIPを使用してに接続できますlocalhost

編集

CLIの新しいバージョンでは、代わりにローカルIPアドレスを指定する必要があります

編集2

CLIの新しいバージョン(v5以降だと思います)0.0.0.0では、ネットワークとしてだれでも通信できるように、ホストとして再びIPとして使用できます。


1
「サーブコマンドを使用するには、angluar--cliプロジェクト内にいる必要があります」と表示され、ng sreveを書き込むと赤い警告が表示され、ノードのバージョン6.2.2を実行していることを示す黄色のメッセージも表示されます。 ng serveを書き込んだ後のCLIの将来のバージョンではサポートされません
Tonyukuk

1
最初に、ノードを更新してみてください、次に、ターミナル/ vscodeを再起動してみてください
mast3rd3mon

1
"@ types / node": "6.0.46"としてパッケージjsonから6.0.46に更新しましたが、同じメッセージが表示されます
Tonyukuk

1
私は人々がどのように与えるか理解していません-私の質問に投票し、誰がそれをするのかわかりません。あなたは間違った質問を理解し、私に間違った答えを与えても、彼らはまだ「-」の評判を与えます。自分で答えを見つけました。「 "server": "webpack-dev-server --inline --progress --host 0.0.0.0 --port 3000"」をpackagejsonに追加することになっていた
Tonyukuk

7
これは私にとってうまくng serve --open --host 0.0.0.0 --disable-host-check
Jonathan.Brink

39

Macユーザー:

  1. システム環境設定->ネットワーク-> Wi-Fiに移動します
  2. ステータスの下にIPアドレスをコピーします(通常は192.168.1.x)
  3. それをあなたのngサーブに貼り付けます: ng serve --host 192.168.1.x

次に、を介して他のデバイスでページを表示できる必要があります192.168.1.x:4200


1
以前は私のために働いていましたが、もう働いていません。なぜだろう。私はすべてを試したような気がします!ファイアウォールが無効になっています。ng serve --host 10.xxx --disable-host-check / ng serve --host 0.0.0.0 --disable-host-check-> 10.xxxと同じネットワーク上にあるWindowsリモートマシンからはアクセスできません:4200
ラファエル・モーザー

角度7でうまく機能、およびMacOSの10.14.6
BKS

それに値するものについては、2019
有効

これは私にとってはうまくいきます、そして広く検索した後、それは私がこの重要なステップを指定するために見た唯一の答えです:あなたのiphone safariブラウザのアドレスバーに、プラグイン:192.168.1.x:4200、ここでx = IPアドレスの最後の数字。「4200」を含めることが私にとっての違いでした。
9gt53wS

@RafaëlMoser解決しましたか?私は同じ問題を抱えており、私は本当に無知です。
マーディ

29

コマンドを実行する

ng serve --host=0.0.0.0 --disable-host-check

これにより、ホストチェックが無効になり、IPアドレスを使用して(localhostではなく)外部からアクセスできるようになります。


3
--disable-host-checkは必要ありませんでした。 ng serve --host 0.0.0.0私にとってはうまくいきます。ホストチェックは何をすることになっていますか?
Andrew

5
私は一度は必要でしたが、disabled-host-checkそうでなければ「無効なホストヘッダー」というメッセージを受け取りました
GameDroids

それを毎回言及することを避けるために設定ファイルでそれを定義する方法はありますか?
Ayush Kumar

12

次のコマンドを使用して、IPでアクセスできます。

ng serve --host 0.0.0.0 --disable-host-check

npmを使用していて、毎回コマンドを実行したくない場合は、スクリプトセクションのpackage.jsonファイルに次の行を追加できます。

"scripts": {
    ...
    "start": "ng serve --host 0.0.0.0 --disable-host-check"
    ...
}

次に、以下のコマンドを使用してアプリを実行し、同じネットワーク内の他のシステムからアクセスできます。

npm start

3
、角度8.私のバージョンではfalse |それは今-disableHostCheck =本当だ
トニー

8

angular.jsonはプロジェクトのファイルを以下のように編集するだけで機能します

...

    "serve": {
      "builder": "@angular-devkit/build-angular:dev-server",
      "options": {
        "browserTarget": "project:build",
        "host": "0.0.0.0"
      },

...


8

ngrokを使用してトンネル上で実行されているすべてのHTTPトラフィックをイントロスペクト することもできます。ngrok http --host-header=rewrite 4200


4

cmdを開き、プロジェクトの場所(npm installまたはng serveを実行する場所)に移動します。

-その後、コマンドを実行します。あなたのIPアドレスです。ng serve --host 10.202.32.4510.202.32.45

10.202.32.45:42004200がポート番号であるページにアクセスできます。

注:このコマンドを使用してアプリを提供すると、アクセスできなくなりますlocalhost:4200


双方向にアクセスできますか?
zishan paya

それは感謝します。私は間違ったIPアドレスを見ていたと思います
Tejashri Patange

ばかげているように聞こえるかもしれませんが、スマートフォンが開発マシンと同じwifiネットワークを使用していることを確認してください。私はゲストネットワークを使用していました...私にとってうまくいった唯一の回答に対して+1。
集約:

3

問題はファイアウォールでした。Windowsを使用している場合は、ノードが許可されていることを確認してください ここに画像の説明を入力してください


ng serve --host 0.0.0.0でサービスを提供した後でも、同じネットワークからアクセスできませんでした。しかし、あなたが言及したようにファイアウォールの許可が問題でした。これを共有するために時間を割いていただきありがとうございます。
サンディB

3

誰かを助けるかもしれない簡単な解決策:

この行を開始の値として追加ng serve --host 0.0.0.0 --disable-host-check しますpackage.json

例:

{
"ng": "ng",
"start": "ng serve --host 0.0.0.0 --disable-host-check",
"build": "ng build",
}

そして、単にstartまたはnpm run start

他のローカルIPからプロジェクトにアクセスできます。


1

Docker内で同じ問題に直面している場合はCMD、Dockerfileで以下を使用できます。

CMD ["ng", "serve", "--host", "0.0.0.0"]

またはDockerfileを完成させる

FROM node:alpine
WORKDIR app
RUN npm install -g @angular/cli
COPY . .
CMD ["ng", "serve", "--host", "0.0.0.0"]

-1

proxy.conf.jsonこの構成を作成して貼り付けます

{  
"/api/*":
    {    
        "target": "http://localhost:7070/your api project name/",
        "secure": false,
        "pathRewrite": {"^/api" : ""}
    }
}

交換:

let url = 'api/'+ your path;

CLIから実行:

ng serve  --host port.number —-proxy-config proxy.conf.json

-1

私にとっては「ng serve --open --host 0.0.0.0」を使用して動作しますが、警告があります


警告:これは、Angularアプリケーションをローカルでテストまたはデバッグするために使用するシンプルなサーバーです。セキュリティの問題については確認されていません。

このサーバーを開いている接続にバインドすると、アプリケーションまたはコンピューターが危険にさらされる可能性があります。「--host」フラグに渡されたホストとは異なるホストを使用すると、WebSocket接続の問題が発生する可能性があります。その場合は、「-disableHostCheck」を使用する必要があります。


-1

package.jsonを変更する必要はありません。

私にとってはそれを使用して動作します:

ng serve --host = 0.0.0.0 --port = 5999 --disable-host-check

ホスト:http:// localhost:5999 /


-1
  • を使用しng serve --host<Your IP> --port<Required if any>ます。

  • ng serve --host = 192.111.1.11 --port = 4545。

  • コンパイルの最後に次の行が表示されます。

Angular Live Development Serverは192.111.1.11:4545をリッスンしていますhttp://192.111.1.11:4545/。**でブラウザーを開いてください。


-3

ノードプロジェクトマネージャーを使用している人にとっては、package.jsonに追加するこの行でも十分です。角張ったCLIユーザーにとって、mast3rd3monの答えは真です。

あなたは付け加えられます

"server": "webpack-dev-server --inline --progress --host 0.0.0.0 --port 3000"

package.jsonへ

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.