解决Cesium发布服务器外不能访问的问题

解决Cesium发布服务器外不能访问的问题

关于Cesium在服务器端(Windows环境)的部署网上已经有很多文章介绍,在此就不做过多介绍,一般流程为:

  1. 在服务器上安装部署Node.js服务器;
  2. 将自己基于Cesium开发的网站部署到服务器上;
  3. 在网站根目录运行命令,运行npm install connect命令安装connect包;
  4. 执行如下命令,安装运行依赖库:
npm install express
npm install compression
npm install request
npm install yargs

5.最后通过执行node server.js命令开启服务器(默认端口为8080),在服务器的浏览器地址栏里输入http://localhost:8080访问,可看到如下界面:
解决Cesium发布服务器外不能访问的问题_第1张图片
如果在其它客户端机器上通过服务器IP地址(http://192.168.10.172:8080)访问该服务,会出现不能访问的情况,即使将防火墙关闭或添加例外依然不能访问,如下图所示:
解决Cesium发布服务器外不能访问的问题_第2张图片
经过分析项目启动文件server.js,可看到如下代码段:

var server = app.listen(argv.port, argv.public ? undefined : 'localhost', function() {
        if (argv.public) {
            console.log('Cesium development server running publicly.  Connect to http://localhost:%d/', server.address().port);
        } else {
            console.log('Cesium development server running locally.  Connect to http://localhost:%d/', server.address().port);
        }
    });

说明在服务端启动参数里可以指定端口和IP地址来指定该服务是只能在本机访问还是可以公开访问,所以服务的启动命令应修改为node server.js --port 8080 -- public 192.168.10.172,这时,无论在本机还是网内其他客户端都可以通过在浏览器中输入http://192.168.10.172:8080访问三维网站:
解决Cesium发布服务器外不能访问的问题_第3张图片

你可能感兴趣的:(JavaScript,Cesium,Cesium,JavaScript,服务器)