postman通过代理服务器调试配置

一、背景介绍

由于申请的API接口服务器只针对指定的服务器IP开放了访问权限,现在想通过服务器代理方式来实现本地postman联调。

数据流程图

二、现状分析
为不影响生产服务器环境,不去改动生产服务器,我们需要使用ssh 开启socks5代理之后通过软件本地转换为http代理。ssh代理方式配置产生的代理为socks5代理,postman本身只支持http和https代理。

三、操作步骤

  • 下载代理转换软件Privoxy

https://www.privoxy.org/

  • 启动ssh的socks代理

运行电脑的cmd命令,输入以下内容并回车,按提示输入密码:

ssh -D 0.0.0.0:1080 root@183.232.231.174 -N -f

保持cmd窗口打开,不要关闭。

ssh参数说明:SSH -D [bind_address:]port

指定本地“动态”应用程序级端口转发。这通过分配一个套接字来侦听本地端的端口(可选地绑定到指定的bind_address)而起作用。每当与此端口建立连接时,该连接都会通过安全通道转发,然后使用应用程序协议确定从远程计算机连接到的位置。当前支持SOCKS4和SOCKS5协议,并且ssh将充当SOCKS服务器。只有root可以转发特权端口。动态端口转发也可以在配置文件中指定。

可以使用另一种语法指定IPv6地址:[bind_address /] port或将地址括在方括号中。

只有超级用户可以转发特权端口。默认情况下,本地端口是根据GatewayPorts设置绑定的。但是,可以使用显式bind_address将连接绑定到特定地址。bind_address的“ localhost”表示绑定的侦听端口仅供本地使用,而空地址或“ *”表示该端口应可从所有接口使用。

  • 安装及配置Privoxy

1.下载完成之后,正常安装好软件。

2.安装完成之后,打开软件安装路径,找到配置文件config.txt,添加一行配置(默认未配置)。

比如我的C:\Program Files (x86)\Privoxy\config.txt,在大约1186行增加:

forward-socks4a  /  127.0.0.1:1080 .

添加转发配置

修改完成之后,重新启动privoxy软件。

四、配置postman代理设置

配置postman代理

进入postman设置界面,选择自定义代理配置,勾选http和https,输入服务器为

127.0.0.1:8118

五、配置电脑全局代理,实现浏览器也可以打开调试界面

如果需要电脑浏览器也使用转换后的代理配置,可以打开电脑网络设置,找到网络配置界面,修改代理选项即可(其他保持不变),如下图:

电脑代理设置

(完)

系统开发中遇到的一些坑

最近在开发系统中,陆续因为用户使用终于到的一些问题,记录下来方便日后回顾。

一、在不同页面使用了相同的session名称做唯一性识别

使用session记录一串编码,在用户提交表单的时候检测是否重复提交,使用中因为偷懒把几乎所有页面上的session检测字段都设置为同一个名字,导致用户提交数据提示错误保存不了。

改进:根据不同的页面地址,设计同一个类别的标识作为session名称,但是名字个不相同,方便识别。

二、在同一套系统中,不同模块采用了同一个字段session来记录数据提交的模块名称

因系统开发设计时考虑到用户可能会去到不同的模块报名,但系统采用同一套账号密码登录,导致用户登陆后切换其他模块不需要再次登录,但是前一个模块的session标记的模块ID没有变更,对应模块功能也跟着带过来,用户发现数据混乱。

改进:根据用户访问模块不同获取不同的项目ID,而不是用户登录设置session来设置。

台式电脑安装CentOS Stream

需要测试通过IPV6做反向代理,目前使用的之前的一台电脑来做测试,发现安装过程中遇到一些问题,现在总结方便后面遇到问题处理参考。

一、下载系统

CentOS 官方网站提供的镜像列表中列出了大部分镜像站点,我这里选择去网易镜像站里面下载,一般来说速度还是很快的,特别是加上迅雷的加速。新版本的centos 没有之前的几个压缩版本的提供下载,默认提供的dvd版本已经到了9个G了。

https://www.centos.org/download/

二、刻录硬盘镜像

因为文件太大,刻录到光盘现在好像已经装不下了,所以我选择刻录到一个硬盘里面,我目前使用的是硬盘盒和之前拆笔记本电脑的一个320G的盘。

一开始通过软碟通软件刻录硬盘镜像,刻录速度是很快,基本可以到80M/s,问题就出在安装上,发现安装总是报错,通过网上的搜索教程,基本了解到是因为在windows下刻录光盘会导致label长度不能太长并且空格会被转义,导致路径有错误。后来通过下载FedoraMediaWriter这个软件来刻录,重新刻录好的安装非常顺畅。

FedoraMediaWriter软件运行界面

三、启动安装

安装过程中遇到一个很尴尬的问题,拆了主机发现忘记插上数据线,导致开始安装找不到安装的盘,重新关机去打开机箱去插线解决。

正常情况,安装就是下一步下一步,然后设置好电脑时区和root密码,然后等安装软件包,大概有半个小时可以装好。

四、基本配置

1.新建普通账号

默认情况下,桌面登录是不让root账号直接登录,第一次登录系统会提示谁在使用这个电脑,此过程中就是新建一个账号的过程,需要记住这个新的账号和密码。

2.配置网络

一般来说,网络配置的是动态获得,实际生产中,为了保证网络稳定,都需要手动配置网络,而不是采用DHCP,需要编辑文件 /etc/sysconfig/network-script/ifcfg-xxxx这个文件来配置网络。

因为centos8没法用systemctl restart network和service restart network,编辑完之后网络重启命令(enp0s3是网卡名称)

#nmcli c reload enp0s3

3.配置防火墙

从CentOS7开始,防火墙已经采用了firewall-cmd,我们如果需要开放某个服务,可以针对服务模式来开启端口或者是通过指定端口来开启。

以下是网站服务开启http和https ,对应端口分别为80、443,其他类似

添加服务http到防火墙列表

#firewall-cmd --add-service=http --permanent

重新加载防火墙配置

#firewall-cmd --reload

系统时间不对导致SSL证书错误

最近学校遇到一个问题,老师上课需要用到腾讯会议,使用微信扫码登录。一开始检查DNS看是否有问题,想着重置一下浏览器改一下代理设置,后来发现是时间有问题。

系统显示时间是2015年的时间,估计是电脑主板电池没有电了。使用系统同步时间,同步成功后,可以正常访问https服务,可以打开微信扫码登录,问题解决。

同步时间之前遇到的情况,就是如果时间和现实时间差异比较大也会存在同步失败的问题,解决办法就是先手动改一个相近的时间,再点击同步可以同步成功。

系统时间和日期设置