通过 Proxy 汉化 restful 接口

本文节选自《Netkiller Web 手札》

1.4.14.6. 通过 Proxy 汉化 restful 接口

通过 proxy 汉化 restful 接口返回的 json 字符串。

背景,有这样一个需求,前端HTML5通过ajax与restful交互,ajax会显示接口返回json数据,由于js做了混淆无法修改与restful交互的逻辑,但是json反馈结果需要汉化。

汉化前接口如下,返回message为 "message":"Full authentication is required to access this resource"

			neo@netkiller ~/workspace/Developer/Python % curl http://api.netkiller.cn/restful/member/get/1.json

{"timestamp":1505206067543,"status":401,"error":"Unauthorized","message":"Full authentication is required to access this resource","path":"/restful/member/get/1.json"}   

建立一个代理服务器,代理介于用户和接口之间,ajax 访问接口需要经过这个代理服务器中转。

增加 /etc/nginx/conf.d/api.netkiller.cn.conf 配置文件

			server {
	listen 80;
	server_name api.netkiller.cn;

	charset utf-8;
	
	location / {
		proxy_pass http://localhost:8443;
		proxy_http_version 1.1;
		proxy_set_header    Host    $host;

		sub_filter_types application/json; 
        sub_filter 'Full authentication is required to access this resource'  '用户验证错误';
        sub_filter_once off;
	}

}			

所谓汉化就是字符串替换,使用nginx sub_filter 模块。

重新启动 nginx 然后测试汉化效果

			neo@netkiller ~/workspace/Developer/Python % curl http://api.netkiller.cn/restful/member/get/1.json

{"timestamp":1505208931927,"status":401,"error":"Unauthorized","message":"用户验证错误","path":"/restful/member/get/1.json"}   

原文发布于微信公众号 - Netkiller(netkiller-ebook)

原文发表时间:2017-09-13

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏ASP.NET MVC5 后台权限管理系统

ASP.NET MVC5+EF6+EasyUI 后台管理系统-关于WebApi的用法

我们新建的WebApi集成了微软自带的HelpPage,即Api的文档,在我们编写好接口之后会自动生成一份文档

910
来自专栏张善友的专栏

.NET Core系列 :3 、使用多个项目

通过前面的两篇文章,我们已经知道如何创建新的项目,如何生成并运行我们的应用程序,也知道(大致) project.json 文件中的内容是什么意思。但大多数项目往...

1779
来自专栏Python攻城狮

Python网络爬虫(三)- 爬虫进阶1.爬虫进阶cookielib2.具体代码操作

注解:这里使用urllib2.HTTPHandler()访问https网页得到的html代码。

684
来自专栏杂烩

rancher导入rke 原

    REK是Rancher Kubernetes Engine,通过rke工具可以快速简单地搭建一套 Kubernetes集群。

1046
来自专栏java闲聊

AvtiveMQ与SpringBoot结合

1737
来自专栏张善友的专栏

在 Windows Phone上使用QQConnect OAuth2

QQ互联OAuth2.0 .NET SDK 发布以及网站QQ登陆示例代码 这篇文章讲述的普通的ASP.NET站点上使用QQ互联,本篇文章主要介绍在Windows...

2006
来自专栏happyJared

Jmeter 压测 http(s)

  上一篇文章关于Jmeter介绍了Jmeter入门相关的知识。本文是实战篇,讲讲如何使用Jmeter对Http(s)进行压力测试。

442
来自专栏晓晨的专栏

ASP.NET Core 集成测试

1282
来自专栏菩提树下的杨过

JMS + jboss EAP 6.2 示例

.Net中如果需要消息队列功能,可以很方便的使用微软自带的MSMQ,对应到Java中,这个功能就是JMS(Java Message Service). 下面以J...

2037
来自专栏Laoqi's Linux运维专列

MHA快速搭建

1576

扫描关注云+社区