Cesium开发学习笔记(一)---安装、设置白名单、log4js打印日志

Cesium安装下载

Cesium官网下载
在Cesium文件目录下初始化
npm i(或者使用淘宝镜像cnpm i)

Cesium配置文件

打开server.js 修改端口号,避免端口号冲突

'port' : {
   'default' : 8888,   // 端口号更改位置
   'description' : 'Port to listen on.'
 },
Cesium启动

两种方式:
1.本地启用及访问
node server.js
网址输入:localhost:8088

2.供统一局域网使用及访问
node server.js --port 端口号 --public IP地址
例子:node server.js --port 8888 --public 169.254.120.100
网址输入:169.254.120.100:8888

Cesium设置白名单

Cesium直接设置
1、创建白名单json文件

/*创建一个全局限制白名单的文件 这里命名为IP.json
  文件格式以json格式
*/
{
    "code": 0,
    "msg": "请求成功",
    "data": [
        {
            "IP": "169.254.120.199"
        },
        {
            "IP": "169.254.120.108"
        },
    ]
}

2、server.js文件添加代码

var Ipflag = false; //全局flag变量
var dataIp;  //封装接收IP数组
// 读文件获取允许访问的IP
let f = fs.readFile("IP.json", "utf-8", function(err, data){
  dataIp = JSON.parse(data);
});

/*  app.use 可以截取到IP,通过该方法拿到IP去匹配JSON文件的IP
*/
app.use(function(req, res, next) {
	let Ip = req.ip.match(/\d+\.\d+\.\d+\.\d+/)[0];  //乱码解析
	  Ipflag = false;
	  for(var l in dataIp.data){
	    if(dataIp.data[l].IP == Ip){  //判断IP相等
	      Ipflag = true;
	      // logger.info('info',dataIp.data[l].IP) //打印日志
	    }
	 }
	if(!Ipflag)  
	return res.status(400).send('你没有权限访问');

	res.header('Access-Control-Allow-Origin', '*');
	res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
	next();
});

Nginx间接代理设置
1、官网下载Nginx
启动start nginx
2、进入配置文件,路径 nginx/conf/nginx.conf

location / {
     proxy_pass  http://169.254.120.100:8888;
     #映射到代理服务器,可以是ip加端口,或url 
     proxy_set_header Host     $host;
     proxy_set_header X-Real-IP $remote_addr;
     proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
     allow  169.254.120.110;  #允许访问的IP
     allow  169.254.120.120;  #允许访问的IP
     deny all; //拒绝所有IP
   }  
Cesium日志打印

log4js下载

/* npm install log4js */
const log4js = require('log4js');

log4js.configure({
    appenders: {
      out: { type: 'stdout' },//设置是否在控制台打印日志
      info: { type: 'file', filename: './logs/info.log' }
    },
    categories: {
      default: { appenders: [ 'out', 'info' ], level: 'info' }//去掉'out'。控制台不打印日志
    }
  });
  const logger = log4js.getLogger();
  logger.level = "info";
  // logger.info('hello word');

此笔记仅仅为了记录自己在项目中所学到的知识,如果有问题,可以提出,我们可以共同探讨。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值