nginx是反向代理,怎么通过nginx反向代理要测试接口的线上网站呢。

这里自我提供了一个方法,仅供参考!建议不要用于刷接口等非常规的用途,后果会很严重。

首先 用node express创建一个项目test,然后安装依赖什么的等等,不再多说,可搜索express创建项目,我这里新建一个ejs项目,页面包含接口测试,以及日志处理输出等,项目服务器地址是127.0.0.1:7171。

<!DOCTYPE html>
<html>
<head>
<title><%= title %></title>
<link rel='stylesheet' href='/test/stylesheets/style.css' />
<script src='/test/javascripts/jquery-1.8.3.min.js'></script>
</head>
<body>
<h1><%= title %></h1>
<button id="testBtn">测试接口</button><span id='testResult'></span>
<p id='timeLeft' style="color:red;">倒计时:0</p>
<div style="width: 820px;">
<div id='content1' style='width:400px;height: 400px;overflow-y: auto;border:1px solid #00f;display: inline-block;word-break: break-all;word-wrap: break-word;'>积分日志信息</div>
<div id='content2' style='width:400px;height: 400px;overflow-y: auto;border:1px solid #00f;display: inline-block;word-break: break-all;word-wrap: break-word;'>正常日志信息</div>
<div style='width: 400px;display: inline-block;'>
<button id='startBtn1' type='button' value='开始'>开始</button>
<button id='throwBtn1' type='button' value='投掷'>接口1</button>
<span id='totalNum'>0</span>
</div>
<div style="width: 400px;display: inline-block;">
<button id='startBtn2' type='button' value='开始'>开始</button>
<button id='throwBtn2' type='button' value='投掷'>接口2</button>
</div>
</div>
<script src='/test/javascripts/accessAll.js'></script>
</body>
</html>

显示效果

注意这里导入了jquery主要是为了接口通讯方便,accessAll是接口处理,在这里可以为所欲为,可以对接口请求数据进行更改和对返回数据分析,贴一个简单的测试代码供参考:

//测试接口
$('#testBtn').click(function(){
$.ajax({
"url":'接口url(注意这里不能包含网站域名,否则跨域)',
"type": "GET",
success:function(res){
if(res.result){
$('#testResult').text('接口正常');
}else{
$('#testResult').text(res.msg);
}
},
complete:function(){
$('#testResult').text = "接口异常";
},
fail:function(){
$('#testResult').text = "http error";
}
});
});

接下来最重要的就是怎么让这个网页能正常请求到信息而不跨域呢。

先配置一个nginx服务器地址,端口1111,

接下来,假设要测试接口的网站为test.net,我们把其根代理指向test.net,这时启动nginx,在浏览器输入127.0.0.1:1111试下是不是直接跳到

test,net了,第一步完成。

第二步 配置自己的测试页nginx配置,proxy路径为/test/。到这里基本就玩成配置了,重启nginx,在浏览器启动两个网页,一个是根网页127.0.0.1:1111,另一个是自己的测试页127.0.0.1:1111/test/,这时就可以通过test页正常请求test.net的接口了,注意接口路径。

完整nginx配置

server {
listen ;
server_name localhost; location / {
proxy_pass https://test.net/;
} location /test/ {
proxy_pass https://127.0.0.1:1717/;
} error_page /50x.html;
location = /50x.html {
root html;
}
}

简单的接口测试,当然还有其他很多方法,我这个只是自己摸索出来的。

测试网站接口,nginx篇的更多相关文章

  1. 『动善时』JMeter基础 — 50、使用JMeter测试WebService接口

    目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...

  2. 『动善时』JMeter基础 — 51、使用JMeter测试WebService接口

    目录 1.什么是WebService 2.WebService和SOAP的关系 3.什么是WSDL 4.测试WebService接口前的准备 (1)如何判断是WebService接口 (2)如何获取W ...

  3. 【转】Android LCD(二):LCD常用接口原理篇

    关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP 平台信息:内核:linux2.6/linux3.0系统:android/ ...

  4. MVC支付宝PC网站接口对接

    PC网站支付接口,请参考支付宝官方文档:https://b.alipay.com/signing/productSet.htm?navKey=all 1.需要提供签约账号.商户密钥 2.代码实现: 支 ...

  5. Python之测试webservice接口

    前段时间学习了Python操作http接口,觉得挺容易的.最近项目组也有接触webservice接口,心里想想是否Python也可以操作这类接口.于是利用伟大的度娘,花了6个小时研究出来了,所以迫不及 ...

  6. (转)LCD:LCD常用接口原理篇

    关键词:android LCD TFT TTL(RGB)  LVDS  EDP MIPI  TTL-LVDS  TTL-EDP平台信息:内核:linux2.6/linux3.0系统:android/a ...

  7. jmeter 测试websocket接口(一)

    jmeter 测试websocket接口时,需要对jmeter添加测试websocket的jar包. 下载地址: https://download.csdn.net/download/qq_14913 ...

  8. 支付宝PC网站接口对接

    PC网站支付接口,请参考支付宝官方文档:https://b.alipay.com/signing/productSet.htm?navKey=all 1.需要提供签约账号.商户密钥 2.代码实现: 支 ...

  9. jmeter3.3测试webservice 接口

    1.天气预报网站,提供webservice接口 http://www.webxml.com.cn/WebServices/WeatherWebService.asmx 2.选择测试的接口getSupp ...

随机推荐

  1. 应用安全 - 工具|平台 - CDN - 使用|命令 - 汇总

    简介 用途 使用缓存适应高并发请求 功能 ()抗DDOS ()隐藏真实IP 全球DNS地址分布:http://www.ab173.com/dns/dns_world.php全球IP地址段分布:http ...

  2. 解决Wamp的 Error D:\wamp or PHP path 错误

    之前早早就用了wamp,发现还是挺好用的,就是刚开始改端口号之类的配置有点麻烦,不过还是一一解决了. 就在昨天安装了 composer . 突然发现wamp 有一个错 “Error D:\wamp o ...

  3. 使用CompletableFuture进行异步任务编排

    1.JDK5引入了Future进行异步任务的处理,Future 的接口主要方法有以下几个: (1)boolean cancel (boolean mayInterruptIfRunning) 取消任务 ...

  4. 课程计划安排 ver: 2016-12-14

    录的越多,后续肯定会涨价. <x86 从实模式到保护模式> 这本书涉及到除了汇编语言,还有一些计算机架构和操作系统方面相关的知识点. 不仅为学习高级编程语言打下了非常扎实的基础,学完C++ ...

  5. 解决PowerDesigner提示This data item is already used in a primary identifier

    解决PowerDesigner提示This data item is already used in a primary identifier 解决PowerDesigner提示This data i ...

  6. 坦克大战--Java类型 ---- (2)按键设置和用户名的输入

    一.实现思路(emmmm,这个地方我很大程度参照了别人的写法)   由于键盘按键众多,因此使用选择框JComboBox 进行按键选择,点击一个JButton 按钮后,读取所有选择框中的内容,然后存到一 ...

  7. 01串LIS(固定串思维)--Kirk and a Binary String (hard version)---Codeforces Round #581 (Div. 2)

    题意:https://codeforc.es/problemset/problem/1204/D2 给你一个01串,如:0111001100111011101000,让你改这个串(使0尽可能多,任意 ...

  8. maven的配置以及使用

    1.下载并配置 下载之后解压,并配置系统环境变量(网上的方法很多),配置maven的环境变量之前确保java的环境变量已经配置成功. 2.eclipse安装maven插件 eclipse安装maven ...

  9. 关于gitlab+jenkins自动部署代码的实现

    本人PHP开发者,项目组大多是PHP,少量java项目. 因公司目前服务器和项目的管理比较混乱,与领导商量后,决定尝试 gitlab+jenkins自动化部署(之前用的svn FTP手动部署代码),解 ...

  10. Runtime.getRuntime.exec()执行linux脚本导致程序卡死问题

    rumtime程序执行中出现卡住,执行成果达不到预期的标准.查看输出流以及错误流程是否内存占满了.开两个线程来运行输出流程和错误流程. rumtime运行windows脚本执行是要添加执行环境 cmd ...