nodejs web API 相关杂项
场景是这样的:
docker-compose中起多个服务,其中有一个是nodejs写的作为web API。
这个API 的使用者有2类:
1 docker-compose网络内其他特定服务访问,作为CRUD(post delete update)
2 一部分API 中的get要向外网开放 ,包括浏览器
分开说。
1 根据IP限制访问
在这里需要做到:
1 手工指定docker-compose网络内每个服务的IP地址,而不是每次自动分配ip导致有变化
2 nodejs 每次 收到req 要能得到client的IP地址。
1 https://www.cnblogs.com/xuanmanstein/p/10576476.html
2 直接安装 这个库https://www.npmjs.com/package/request-ip
// require request-ip and register it as middleware
var requestIp = require('request-ip');
app.use(requestIp.mw()) app.use(function(req, res) {
// by default, the ip address will be set on the `clientIp` attribute
var ip = req.clientIp;
res.end(ip + '\n');
});
对于2
1不加IP过滤
2返回时加避免跨域的header
const headers_res = {
'Access-Control-Allow-Origin': '*',
'Access-Control-Allow-Credentials': true} ...... app.route("/XXX")
.get( (req, res) => { //.....
res.set(headers_res)
.send(res)
}
跨域头只能'*',不能解析多个域的列表,暂时就这样解决了
nodejs web API 相关杂项的更多相关文章
- ASP.NET Core Restful Web API 相关资源索引
GraphQL 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(上) 使用ASP.NET Core开发GraphQL服务器 -- 预备知识(下) [视频] 使用ASP.NET C ...
- ASP.NET Web API相关
接收移动端上传的图片,示例代码: [HttpPost] [ApiSecurityFilter] public IHttpActionResult UploadImg() { string imgs = ...
- GOTO Berlin: Web API设计原则
在邮件列表和讨论区中有很多与REST和Web API相关的讨论,下面仅是我个人对这些问题的一些见解,并没有绝对的真理,InnoQ的首席顾问Oliver Wolf在GOTO Berlin大会上开始自己的 ...
- [ASP.NET MVC 小牛之路]18 - Web API
Web API 是ASP.NET平台新加的一个特性,它可以简单快速地创建Web服务为HTTP客户端提供API.Web API 使用的基础库是和一般的MVC框架一样的,但Web API并不是MVC框架的 ...
- 《ASP.NET Web API 2框架揭秘》样章(PDF版本)
<ASP.NET Web API 2框架揭秘>(详情请见<新作<ASP.NET Web API 2框架揭秘>正式出版>)以实例演示的方式介绍了很多与ASP.NET ...
- ASP.NET Web API 2框架揭秘
ASP.NET Web API 2框架揭秘(.NET领域再现力作顶级专家精讲微软全新轻量级通信平台) 蒋金楠 著 ISBN 978-7-121-23536-8 2014年7月出版 定价:108.0 ...
- 怎么搭建Web Api
1.通常我们有个web 让后可以有个web api 提供接口2.通常我们分别建两个项目 web api 依赖web的来进行访问(说到底是依赖是IIS)3.我们先建个SmallCode.Test.Web ...
- Web API初印象
理解REST,RESTful和Web API 1.REST:Representational State Transfer表征状态转移,是Roy Fielding博士在2000年他的博士论文中提出来的 ...
- 使用 Swagger UI 与 Swashbuckle 创建 RESTful Web API 帮助文件
作者:Sreekanth Mothukuru 2016年2月18日 本文旨在介绍如何使用常用的 Swagger 和 Swashbuckle 框架创建描述 Restful API 的交互界面,并为 AP ...
随机推荐
- 2^n算法
题目描述: 如题…… 那么,可以用c++自带快速幂:pow: #include<cstdio> using namespace std; int n; int main() { scanf ...
- Golang中mac地址+时间戳加入rand.Seed()产生随机数
记录一下用mac地址+local时间作为seed来产生随机数 // 首先记录一下rand.Seed()怎么用 // 官方说明,传入int64数据为Seed func (r *Rand) Seed(se ...
- 将lits集合转化为树状结构
一,bean的类型: public class DeptListRES { /** * 子节点 */ private List<DeptListRES> children; private ...
- findStr
目录 规则 目录结构 src/main.cpp src/findstr.cpp include/findstr.h ft/TestCase.cpp ft/makefile ftbuild.sh mai ...
- mimikaz常用命令
常用命令,留着自己使用的时候方便查找 mimikatz是一款功能强大的轻量级调试神器,通过它你可以提升进程权限注入进程读取进程内存,当然他最大的亮点也是让阿刚最感兴趣的就是他可以直接从 lsass中获 ...
- JAVA可检测异常和非检测异常
Java的可检测异常和非检测异常泾渭分明.可检测异常经编译器验证,对于声明抛出异常的任何方法,编译器将强制执行处理或声明规则. 非检测异常不遵循处理或声明规则.在产生此类异常时,不一定非要采取任何适当 ...
- bootstrap 下拉菜单自动向上向下弹起
.别人的解决方案 2.别人的解决方案 3.我哒 div class="btn-group" style="margin-top:500px;" > < ...
- RoboWare Studio 安装
RoboWare Studio是一个ROS集成开发环境.它使 ROS开发更加直观.简单.并且易于操作.可进行ROS工作区及包的管理.代码编辑.构建及调试. 下载链接:https://pan.baidu ...
- Django基本配置与URLconf
what's the Django python的框架主要有:Django.Flask.Tornado Django是一个开放源代码的Web应用框架,由Python写成.它的主要特点是大而全,我们需要 ...
- python中的单例
使用__new__ 因为一个类每一次实例化的时候,都会走它的__new__方法.所以我们可以使用__new__来控制实例的创建过程,代码如下: class Single: instance = Non ...