[转载]Linux上使用ssl进行端口转发
原文地址:Linux上使用ssl进行端口转发 作者:呼延十
背景介绍
作为一个后端程序员,经常要和别人联调接口,每当这时,总是被公司的各种,dev,qa,pre,prod环境搞得头疼,,,我真的只是想简单的联调一下看看能不能调的通啊…或者当你为移动端开发接口的时候,你想完整的体验从点击APP到自己的电脑打出log这个流程(因为中间好几个环境,你需要知道是哪里出了问题),却发现自己的办公网络没有独立ip….那么你可以来学习一下Linux的端口转发了.
将本地的请求转发到远程主机端口
这个方案主要用来解决访问生产环境的问题.(当然这样不好,但是有些生产环境不重要,可以这样操作)
举个简单的例子,你在本地执行:
ssh -L 4333:localhost:8000 root@xxxxx -N -f
可以将本地的4333端口转发到远程的8000端口,这意味着你在本地调用localhost:4333即可以获取到xxxxx服务器上8000端口的结果.
现在举个复杂一点的例子:
比如你现在在本地测试代码,我们成为:localhost.
你要连接一个生产的数据库,本地连接不上. 生产的数据库称为:prod.
但是你现在有一台dev机,称为dev.
在dev机器上可以访问到一个跳板机,我们称之为jump.
那么怎么样才可以在本地运行并且连接到prod的数据库呢?
需要在dev机上端口转发.
在dev机上执行:
ssh -L 3333:prod:3306 root@jump -N -f
这个命令的结果是:
所有请求dev机3333端口的请求,都会被转发为jump机器上对prod:3306的请求.
现在在本地直接执行mysql -uroot -p -hdev -P3333就可以连接prod的数据库了,当然,用户和密码都需要是真实的线上数据库的用户和密码.
将远程主机端口的请求转发到本地
这个案例就是用来解决内网穿透的问题了,当然你也可以选择搭建ngrok服务器,只是更麻烦一些.
假如你和移动端同学py一下,让他们给你打个包用来测试,绑定一个测试服务器,那么最好的当然是绑定我们的本地机器,这样随时随地可以测试.但是我们日常使用wifi,ip地址经常会变,这可怎么办呢?
随便找一台具有固定ip的服务器,最好是公司的测试服务器不用的端口即可.
然后在本地执行:
ssh -R 8092:localhost:6666 root@xxxxx -N -f
即可以将对xxxxx服务器8092端口的访问转发到本地的6666端口上,现在你可以让请求API的人直接请求xxxxxx:8092,而你在本地的6666端口上启动服务即可,不仅可以随时修改随时起效,还可以打断点调试.
[转载]Linux上使用ssl进行端口转发的更多相关文章
- linux中nginx中配置端口转发
域名指向主机IP地址,通过域名:8080才能访问网站,去掉后面的8080:或者其他的端口号,直接使用域名访问网站 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处 ...
- linux下安装haproxy作为端口转发服务器,以及安装keepalived作为haproxy高可用方案
一.安装haproxy作为端口转发服务器(主服务器:172.28.5.4,备服务器:172.28.5.8,浮点IP为:172.28.5.6) 1.安装依赖包 yum -y install wget g ...
- Linux SSH隧道技术(端口转发,socket代理)
动态转发(SOCKS5代理): 命令格式:ssh -D <local port> <SSH Server> ssh -fnND 0.0.0.0:20058 172.16.50. ...
- Linux 服务器--Iptables 端口转发
日常Iptables 端口转发 需求:公司是局域网络,通过一个外网ip,进行互联网的访问.公司的云平台服务器在公网中,虚拟化平台中有一台内部服务器,用于公司某部门的使用,上面运行www 服务,ssh端 ...
- [转载]linux上安装oracle
原文地址:linux上安装oracle作者:天涯恨客 1.创建oinstall组 [root@xieqing ~]# groupadd oinstall 创建dba组 [root@xieqing ~] ...
- [转载]linux上用PHP读取WORD文档
在linux上用PHP读取WORD文档,其实是使用了 antiword程序把word文档转化为txt文档. 再使用php执行系统命令调用而已. 具体操作如下: 1.安装antiword 官方站:htt ...
- Linux主机添加路由和端口转发
环境(关闭防火墙和seLinux): 6A: CentOS6 7A 和 7B:CentOS 7 6A: 192.168.20.131/24 7B: 192.168.20.129/24 和 192.16 ...
- linux下最简单的端口转发工具
linux下简单好用的工具rinetd,实现端口映射/转发/重定向 官网地址http://www.boutell.com/rinetd 软件下载wget http://www.boutell.com/ ...
- 在CentOS 7 上为docker配置端口转发以兼容firewall
在CentOS 7上当我们以类似下列命令将主机端口与容器端口映射时可能遇到无法访问容器服务的问题 docker run --name web_a -p 192.168.1.250:803:80 -d ...
随机推荐
- PHP: thinkPHP踩坑记录(实现API接口以及处理莫名其妙的500问题)
因为各种原因开始学习PHP,并且要在两周内能够对PHP项目进行二次开发,还好PHP够简单,至少入门很简单,很快就接触thinkPHP框架. 在了解了路由匹配视图的规则之后,开始着手尝试编写API接口, ...
- less:匹配模式
相当于JS中的if(不完全是),满足条件后才能匹配 .margin(top, @width: 5px) { margin: @width 0 0 0; } .margin(right, @width: ...
- 前端每日实战:30# 视频演示如何用纯 CSS 创作一个晃动的公告板
效果预览 按下右侧的"点击预览"按钮可以在当前页面预览,点击链接可以全屏预览. https://codepen.io/comehope/pen/wjZoGV 可交互视频教程 此视频 ...
- 探讨vue的双向绑定原理及实现
1.vue的实现原理 vue的双向绑定是由数据劫持结合发布者-订阅者模式实现的,那么什么是数据劫持?vue是如何进行数据劫持的?说白了就是通过Object.defineProperty()来劫持对象属 ...
- LeetCode--049--字母异位词分组(java)
给定一个字符串数组,将字母异位词组合在一起.字母异位词指字母相同,但排列不同的字符串. 示例: 输入: ["eat", "tea", "tan&quo ...
- python学习笔记(十四)加密模块
import hashlib ybq_pwd='bugaosuni' m=hashlib.md5() bytes_ybq=ybq_pwd.encode()#把字符串转成bytes类型,中文字符在Pyt ...
- Angular:ViewProviders和Providers的区别
在Angular中使用依赖注入(DI)的时候,我们一般会使用providers.其实要做同样的事我们还有另外一个选择:viewProviders. viewProviders允许我们定义只对组件的vi ...
- SpringBoot怎么访问html文件
pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId> ...
- HDU4336 Card Collector (概率dp+状压dp)
http://acm.hdu.edu.cn/showproblem.php?pid=4336 题意:有n种卡片,一个包里会包含至多一张卡片,第i种卡片在某个包中出现的次数为pi,问将所有种类的卡片集齐 ...
- 组件Component详解
[转]https://www.cnblogs.com/moqiutao/p/8328931.html