将 IP 地址绑定到托管在 nginx 上的 Angular 站点

Binding IP address to Angular site hosted on nginx

我已经在 nginx 上成功托管了一个 angular 网站,我的 nginx.conf 文件如下所示,

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   C:/Angular-Project/angular2-trial/dist;
            index  index.html;
        }
        }

但我想绑定一个 IP 地址(比如 10.194.31.21:8000),以便可以在内部网络的任何地方访问该站点(与 localhost 不同)。

我尝试将listen修改为10.194.31.21:8000,但这似乎不起作用。

实现这个的正确方法是什么?

您需要同时更改 server_name 并倾听以确保这一点。 以下 conf 将响应 10.194.31.21:8000

server {
  listen       8000;
  server_name  10.194.31.21;

  #charset koi8-r;

  #access_log  logs/host.access.log  main;

  location / {
    root   C:/Angular-Project/angular2-trial/dist;
    index  index.html;
  }
}

如果您不关心主机名,您还可以设置 server_name 来 _ 捕获所有服务器名称:

server {
  listen       8000;
  server_name  _;

  #charset koi8-r;

  #access_log  logs/host.access.log  main;

  location / {
    root   C:/Angular-Project/angular2-trial/dist;
    index  index.html;
  }
}

监听是端口,server_name是浏览器发送的服务器名。使用第二种解决方案,您可以将所有内容捕获到您的 angularjs 应用程序(缺点是您不能在此端口上使用此 nginx 托管其他应用程序)。

我尝试重新加载并重新启动 nginx 服务以启用新配置,但没有成功。

用相同的配置文件重新启动我的 windows 电脑,成功了。