本地主机访问服务器的Redis -- 配置 ssh 端口转发

前言

在进行Java开发时,高度的依赖 Windows 上的开发软件 idea ,那么我们想访问位于服务器上的 redis 怎么办呢?在平时我们想访问位于服务器上的程序,只需要开放它的端口即可,比如我们创建的网站,比如 tomcat 的8080 端口,但 reids 的 6379 端口我们能开放吗?答案是不能,因为 redis 的端口一旦开放,就非常容易被黑客攻击。

那么我们要如何在不开放 redis 端口的情况下,也能在本地主机访问服务器上的 redis 程序呢?方法有两个:

(1).直接让 Java 程序也在 Linux 服务器上运行

我们将 Java 程序打成 jar 包,然后把 jar 包拷贝到 Linux 服务器上运行,此时 Java 程序和 redis 位于同一个主机,就可以很方便的进行访问了。但这要我们每次调试都打 jar 包然后拷贝到 Linux 服务器上运行,非常的麻烦,所以不推荐

(2).配置 ssh 端口转发,把服务器的 redis 端口映射到本地主机

我们可以通过 ssh 将服务器上 redis 的 6397 端口映射到本地主机的 8888 端口,当我们在本地主机构造请求发送给 8888 端口时,ssh 会帮我们把请求转发给服务器的 6379 端口,也就是redis

ssh 协议

ssh 的全称是 Secure Shell ,它是一种加密的网络传输协议,可在不安全的网络中为网络服务提供安全的传输环境。SSH 通过在网络中创建安全、加密的连接(也叫做"隧道")来工作。

ssh 协议默认在 22 端口,它的功能非常强大,其中一个很重要的功能就是支持端口转发,相当于可以通过 ssh 的 22 端口来转发其他端口的数据

我们通过简单的配置,让 ssh 明确本地主机上 8888 端口和云服务器 6379 端口之间的映射关系,当我们将请求发送给本地主机上的 8888 端口时,这个请求会由隧道转发给服务器上 ssh 的 22 端口,服务器上的 ssh 服务器程序会将该请求交给 6379 端口,也就是 redis。(ssh 可以帮多个端口转发信息,可以设置多个映射关系)

简单配置

软件:xshell

1.选中会话,右键,点击属性

2.在 ssh 目录下选择隧道

3.点击添加(添加映射关系)

4.设置转换规则(映射关系)

5.点击连接

6.检验连接情况

我们可以查看本地主机的 8888 端口的网络连接情况来判断是否连接成功

java 复制代码
netstat -ano|findstr 8888

如图代表已经连接成功

当我们把连接的 xshell 窗口关闭以后,连接便中断

连接成功以后,后续我们在 Java 代码中通过 127.0.0.1:8888 便能操作服务器的 redis 了,并且其他的客户端无法访问我们服务器的 redis

相关推荐
qq7621182234 分钟前
Linux c 在内存中创建zip,最后写入测试
linux·运维·服务器
jayxuyj1 小时前
MySQL8.0新特性探秘深入解析窗口函数的性能优化策略
服务器
故事很腻i1 小时前
安装elk
运维·elk·jenkins
华纳云IDC服务商1 小时前
网站服务器频繁掉线的主要原因是什么
运维·服务器
小黄人软件1 小时前
【部署python网站】宝塔面板 小目标2:实时搜索网上资源文件网站放在服务器上 用AI做一个作品,不断迭代。
运维·服务器
未来之窗软件服务1 小时前
服务器运维(四)服务器漏洞扫描工具与审查——东方仙化神期
运维·服务器·仙盟创梦ide·东方仙盟·东方仙盟运维
小猪写代码1 小时前
服务器相关:什么是 alios. centos. cuda. cuda tookit. gcc. cudann. pytorch.
服务器·pytorch·centos
云飞云共享云桌面1 小时前
SolidWorks服务器多人使用方案
大数据·运维·服务器·前端·网络·电脑·制造
你疯了抱抱我1 小时前
【H3C NX30Pro】光猫桥接并使用OpenWRT配置NAS端口映射;配置IPv6、IPv4公网直连内网服务器;
运维·服务器·网络·智能路由器·路由器
liyugang20151 小时前
MySQL数据库性能优化的七个关键策略与实践
运维