How to allow access outside localhost

AngularTypescriptNg Build

Angular Problem Overview


How can I allow access outside the localhost at Angular2? I can navigate at localhost:3030/panel easily but I can not navigate when I write my IP such as 10.123.14.12:3030/panel/.

Could you please allow me how to fix it? I am not using npm (node project manage - node install/node start ) to install and run the project.

If you want, I can provide my package.json and index.html.

Angular Solutions


Solution 1 - Angular

Using ng serve --host 0.0.0.0 will allow you to connect to the ng serve using your ip instead of localhost.

EDIT

In newer versions of the cli, you have to provide your local ip address instead

EDIT 2

In newer versions of the cli (I think v5 and up) you can use 0.0.0.0 as the ip again to host it for anyone on your network to talk to.

As a side note Make sure your connection is set to Public in your OS settings.

Solution 2 - Angular

run command

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

this will disable host check and allow to access from outside(instead of localhost) with IP address

Solution 3 - Angular

Mac users:

  1. Go to System Preferences -> Network -> Wi-Fi
  2. Copy the IP address below Status (Usually 192.168.1.x)
  3. Paste it in your ng serve like: ng serve --host 192.168.1.x

Then you must be able to see your page on other devices through 192.168.1.x:4200.

Solution 4 - Angular

You can use the following command to access with your ip.

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

If you are using npm and want to avoid running the command every time, we can add the following line to the package.json file in the scripts section.

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

Then you can run you app using the below command to be accessed from the other system in the same network.

npm start

Solution 5 - Angular

I just edit angular.json file in my project as below and it works

...

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

Solution 6 - Angular

For the problem was Firewall. If you are on Windows, make sure node is allowed through enter image description here

Solution 7 - Angular

No package.json is necessary to change.

For me it works using:

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

Host: http://localhost:5999/

Solution 8 - Angular

If you facing same problem inside Docker, then you can use below CMD in Dockerfile.

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

Or complete Dockerfile

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

Solution 9 - Angular

Open cmd and navigate to project location i.e. where you run npm install or ng serve for the project.

and then run the command - ng serve --host 10.202.32.45 where 10.202.32.45 is your IP address.

You will be able to access your page at 10.202.32.45:4200 where 4200 is your port number.

Note: If you serve your app using this command then you won't be able to access localhost:4200

Solution 10 - Angular

A quick solution that might help someone :

Add this line as value for start ng serve --host 0.0.0.0 --disable-host-check in your package.json

ex:

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

And then simply do start or npm run start

you will be able to access your project from other local IPs.

Solution 11 - Angular

  1. ng serve --host 0.0.0.0 will allow you to connect to the ng serve using your ip instead of localhost.

    Open your browser to <IP-ADDRESS>:4200

  2. Using ng serve --host 0.0.0.0 --disable-host-check will allow you to connect to the ng serve using your domain instead of localhost.

    Open your browser to <DOMAIN-NAME>:4200

Solution 12 - Angular

you can also introspect all HTTP traffic running over your tunnels using ngrok , then you can expose using ngrok http --host-header=rewrite 4200

Solution 13 - Angular

In Angular version 11 (and maybe some earlier versions) --public-host option does the trick for me, for example:

$ ng serve --host 0.0.0.0 --public-host app.mypublicdomain.com

Solution 14 - Angular

Using ng serve --host 0.0.0.0 command has solved my issue. Use 192.168.x.x:5200 to get access to the app from another machine.

Also, check for firewall rules on client and server (disable firewall temporally or create a rule to allow traffic)

Solution 15 - Angular

  • Use ng serve --host<Your IP> --port<Required if any>.

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

  • You can now see the below line at the end of compilation. > Angular Live Development Server is listening on 192.111.1.11:4545, open your browser on http://192.111.1.11:4545/ **.

Solution 16 - Angular

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

This worked for me perfectly (even using a public IP with an A host pointed to that IP).

Solution 17 - Angular

Create proxy.conf.json and paste this configuration

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

Replace:

let url = 'api/'+ your path;

Run from CLI:

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

Solution 18 - Angular

for me it works using "ng serve --open --host 0.0.0.0" but there is a warning


WARNING: This is a simple server for use in testing or debugging Angular applications locally. It hasn't been reviewed for security issues.

Binding this server to an open connection can result in compromising your application or computer. Using a different host than the one passed to the "--host" flag might result in websocket connection issues. You might need to use "--disableHostCheck" if that's the case.

Solution 19 - Angular

For the people who are using node project manager, also this line adding to package.json will be enough. For angular CLI users, mast3rd3mon's answer is true.

You can add

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

to package.json

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionTonyukukView Question on Stackoverflow
Solution 1 - Angularmast3rd3monView Answer on Stackoverflow
Solution 2 - AngularPallaView Answer on Stackoverflow
Solution 3 - AngularSajadView Answer on Stackoverflow
Solution 4 - AngularIrshadView Answer on Stackoverflow
Solution 5 - AngularFarzadView Answer on Stackoverflow
Solution 6 - AngularTSRView Answer on Stackoverflow
Solution 7 - AngularConsuleView Answer on Stackoverflow
Solution 8 - AngularAdiiiView Answer on Stackoverflow
Solution 9 - AngularRakesh RanjanView Answer on Stackoverflow
Solution 10 - AngularVikash KumarView Answer on Stackoverflow
Solution 11 - AngularotsiliView Answer on Stackoverflow
Solution 12 - AngularZombieView Answer on Stackoverflow
Solution 13 - AngularVíctor GilView Answer on Stackoverflow
Solution 14 - AngularParthoView Answer on Stackoverflow
Solution 15 - AngularNanda Kishore AlluView Answer on Stackoverflow
Solution 16 - AngularJithin U. AhmedView Answer on Stackoverflow
Solution 17 - AngularGaurav SrivastavaView Answer on Stackoverflow
Solution 18 - AngularYonasView Answer on Stackoverflow
Solution 19 - AngularTonyukukView Answer on Stackoverflow