内网穿透的应用-如何本地部署Elasticsearch搜索分析引擎实现并发布公网远程访问

文章目录

    • 系统环境
    • 1. Windows 安装Elasticsearch
    • 2. 本地访问Elasticsearch
    • 3. Windows 安装 Cpolar
    • 4. 创建Elasticsearch公网访问地址
    • 5. 远程访问Elasticsearch
    • 6. 设置固定二级子域名

Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎,它提供了一个分布式、多租户的全文搜索引擎,具有HTTP Web接口和无模式JSON文档,同时也是是一个非常强大的工具,可以用于各种用途,例如日志分析、搜索引擎、安全分析等等。

远程连接的好处在于可以让用户从远程位置访问Elasticsearch集群,这样可以方便地进行数据查询和管理。具体好处如下:

  1. 方便远程协作:远程连接可以让多个用户从不同的地方同时访问Elasticsearch集群,方便团队协作和数据共享。
  2. 提高数据安全性:远程连接可以让用户在本地进行数据查询和管理,避免了在服务器上直接操作数据的风险,提高了数据的安全性。
  3. 方便数据备份:远程连接可以让用户方便地将数据备份到本地,避免了数据丢失的风险。
  4. 提高数据处理效率:远程连接可以让用户在本地进行数据处理和分析,避免了数据传输的时间和带宽限制,提高了数据处理效率。

下面介绍在Windows 安装Elasticsearch 并结合Cpolar实现远程连接和访问!

系统环境

JDK 1.8

1. Windows 安装Elasticsearch

进入官方下载界面: https://www.elastic.co/downloads/elasticsearch,选择windows版本下载,Elasticsearch 运行需要java 环境,如果没有安装环境,需要提前安装 JDK.

image-20231110145417985

下载完成后进行解压,进入bin目录,找到elasticsearch.bat脚本文件执行一键启动.

image-20231110145816972

启动后,特别注意一下cmd窗口的一个用户名和一个密码信息,访问登录需要这个用户名密码

image-20231110151352328

2. 本地访问Elasticsearch

运行服务后,浏览器输入https://lcoalhost:9200,会提示输入用户名密码,填写上面我们看到的用户名:elastic 和对应的密码,即可访问成功,下面进行安装Cpolar 工具,实现远程访问

image-20231110152246542

3. Windows 安装 Cpolar

访问cpolar官网,注册一个账号,然后下载并安装客户端,具体安装教程可以参考官网文档教程。

Cpolar官网:https://www.cpolar.com/download

  • windows系统:在官网下载安装包后,双击安装包一路默认安装即可。
  • linux系统:支持一键自动安装脚本,详细请参考官网文档——入门指南

image-20231113140709326

注意! Cpolar安装成功后,默认Cpolar web 界面访问端口也是9200,和Elasticsearch 会有冲突,需要修改一下Cpolar 管理界面端口,如果Elasticsearch 的端口不是9200,可以不用修改.

找到cpolar配置文件:c:\Users\用户名\.cpolar\cpolar.yml,使用Notepad++编辑工具或者其他软件打开

image-20231113140858314

在配置文件中,增加一行:client_dashboard_addr: 127.0.0.1:9800,端口可以自定义,这边使用9800

image-20231113141453289

修改好后,记得保存配置文件,然后在控制面板–管理工具—服务—cpolar service,重启cpolar服务

image-20231113141414399

然后浏览器输入localhost:9800,即可访问到了Cpolar Web UI 管理界面,输入官网注册的账号即可登录操作了.

image-20231113141644952

4. 创建Elasticsearch公网访问地址

登录后,点击左侧仪表盘的隧道管理——创建隧道,创建一个9200的http隧道

  • 隧道名称:可自定义命名,注意不要与已有的隧道名称重复
  • 协议:选择http
  • 本地地址:https://127.0.0.1:9200 (https本地访问的方式填写完整地址)
  • 域名类型:免费选择随机域名
  • 地区:选择China

点击创建

image-20231113150106574

隧道创建成功后,点击左侧的状态——在线隧道列表,查看所生成的公网访问地址,有两种访问方式,一种是http 和https,由于本地是https,我们只需要使用https地址即可

image-20231113150229680

5. 远程访问Elasticsearch

打开浏览器,使用Cpolar https公网地址访问,可以看到,访问成功,这样一个远程或者任意设备浏览器访问的公网地址就设置好了.

image-20231113150402441

小结

为了更好地演示,我们在前述过程中使用了cpolar生成的隧道,其公网地址是随机生成的。

这种随机地址的优势在于建立速度快,可以立即使用。然而,它的缺点是网址由随机字符生成,不太容易记忆(例如:3ad5da5.r10.cpolar.top)。另外,这个地址在24小时内会发生随机变化,更适合于临时使用。

我一般会使用固定二级子域名,原因是我希望将网址发送给同事或客户时,它是一个固定、易记的公网地址(例如:crm.cpolar.cn),这样更显正式,便于流交协作。

6. 设置固定二级子域名

由于以上使用cpolar所创建的隧道使用的是随机公网地址,24小时内会随机变化,不利于长期远程访问。因此我们可以为其配置二级子域名,该地址为固定地址,不会随机变化【ps:cpolar.cn已备案】

注意需要将cpolar套餐升级至基础套餐或以上,且每个套餐对应的带宽不一样。【cpolar.cn已备案】

登录cpolar官网后台,点击左侧的预留,选择保留二级子域名,设置一个二级子域名名称,点击保留,保留成功后复制保留的二级子域名名称

image-20231113151721641

保留成功后复制保留的二级子域名地址

image-20231113151751358

登录cpolar web UI管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到所要配置的隧道,点击右侧的编辑

image-20231113152109057

修改隧道信息,将保留成功的二级子域名配置到隧道中

  • 域名类型:选择二级子域名
  • Sub Domain:填写保留成功的二级子域名

点击更新

image-20231113152142969

更新完成后,打开在线隧道列表,此时可以看到公网地址已经发生变化,地址名称也变成了保留和固定的二级子域名名称

image-20231113152233962

最后,使用固定的域名公网https地址访问,可以看到同样也是访问成功,这样一个永久固定不变的公网地址就设置好了!

image-20231113152348531

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/696611.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

探索Flask框架:打造优雅而强大的Web应用

在当今互联网时代,Web应用的需求日益增长,而作为开发者,我们需要一个简洁明快、灵活可扩展的框架来满足这些需求。Flask框架作为一个Python微型框架,在其简洁的设计理念和丰富的扩展生态系统之间找到了完美的平衡,为我…

洛谷--二分(Java实现)

洛谷 B3627 立方根 题目描述 给定正整数 n,求 √n​。答案向下取整。 输入格式 仅一行,一个正整数 n。 输出格式 仅一行,一个正整数,表示√n。向下取整输出。 输入输出样例 输入 #1 27 输出 #1 3 输入 #2 100000 输…

ORACLE之 decode函数

语法: DECODE(expression, search1, result1, search2, result2, ..., default_result) 其中,expression是要进行比较的表达式,search1, search2等是可能的值,result1, result2等是对应的结果。如果expression等于search1&#x…

Java类的成员、继承、多态

当谈论Java类的成员、继承和多态时,我们谈论的是面向对象编程的基本概念。让我逐一介绍: 1. **成员**: - **字段(Field)**:也称为属性或变量,用于存储对象的状态信息。 - **方法&#xf…

防御保护第六次作业

需求: 8,分公司内部的客户端可以通过域名访问到内部的服务器 9,假设内网用户需要通过外网的web服务器和pop3邮件服务器下载文件和邮件,内网的FTP服务器也需要接受外网用户上传的文件。针对该场景进行防病毒的防护。 10,我们需要针…

C++模板从入门到入土

1. 泛型编程 如果我们需要实现一个不同类型的交换函数,如果是学的C语言,你要交换哪些类型,不同的类型就需要重新写一个来实现,所以这是很麻烦的,虽然可以cv一下,有了模板就可以减轻负担。 下面写一个适…

日常leetcode代码思路总结(持续更新)

日常leetcode代码思路总结(持续更新) 难易leecode题号题目描述思路简单121. 买卖股票的最佳时机只准一次买卖0表示持有,1表示不持有;dp[0][i] max(dp[0][i-1], -prices[i]);dp[1][i] max(dp[1][i-1], dp[0][i] pric…

Openwrt删除内核patch

环境说明 ubuntu-18.04 openwrt-21.02 安装quilt sudo apt install quilt quilt指令说明 Usage: quilt [--trace[=verbose]] [--quiltrc=XX] command [-h] ...quilt --version Commands are:add fold mail refresh snapshotannotate fork new rem…

基于springboot+vue的中小企业设备管理系统(前后端分离)

博主主页:猫头鹰源码 博主简介:Java领域优质创作者、CSDN博客专家、阿里云专家博主、公司架构师、全网粉丝5万、专注Java技术领域和毕业设计项目实战,欢迎高校老师\讲师\同行交流合作 ​主要内容:毕业设计(Javaweb项目|小程序|Pyt…

H 桥逆变方式介绍(双极性)

单极性控制和双极性控制是说IGBT四个管子的控制 前面所说的单极性控制是其中一个管子开通、关闭另外一个管子持续开通 而双极性是四个管子中的两个管子同时导通,同时关断。彼此交替变化 所以当方波出现低电平时,是一对管子同时导通,出现高电…

2.21 Qt day2 菜单栏/工具栏/状态栏/浮动窗口、UI界面、信号与槽

思维导图 使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin",…

成像光谱遥感技术中的AI革命:ChatGPT应用指南

“成像光谱遥感技术中的人工智能革命:ChatGPT应用指南”,这是一门旨在改变您使用人工智能处理遥感数据的方式。将最新的人工智能技术与实际的遥感应用相结合,提供不仅是理论上的,而且是适用和可靠的工具和方法。无论你是经验丰富的…

golang实现延迟队列(delay queue)

golang实现延迟队列 1 延迟队列:邮件提醒、订单自动取消 延迟队列:处理需要在未来某个特定时间执行的任务。这些任务被添加到队列中,并且指定了一个执行时间,只有达到指定的时间点时才能从队列中取出并执行。 应用场景&#xff1…

智慧驿站_智慧文旅驿站_轻松的驿站智慧公厕_5G智慧公厕驿站_5G模块化智慧公厕

多功能城市智慧驿站是在智慧城市建设背景下,所涌现的一种创新型社会配套设施。其中,智慧公厕作为城市智慧驿站的重要功能基础,具备社会配套不可缺少的特点,所以在应用场景上,拥有广泛的需求和要求。那么,城…

高企认定的官方费用

高新技术企业认定并没有直接的“官费”,但是在申请高新技术企业认定过程中,企业可能会涉及到一些与政府部门相关的费用,主要包括以下几种情况: 1.知识产权相关费用:•申请专利、软件著作权等知识产权时需要向国家知识…

#12解决request中getReader()和getInputStream()只能调用一次的问题

目录 1、背景 2、解决方案 2.1、自定义HttpServletRequestWrapper 2.2、JsonRequestHeaderParamsHelper 2.3、HttpServletRequestReplacedFilter 2.4、使用 1、背景 当前系统Content-Type为application/json,参数接收方式采用RequestBody和RequestParam&#…

平时积累的FPGA知识点(10)

平时在FPGA群聊等积累的FPGA知识点,第10期: 41 ZYNQ系列芯片的PL中使用PS端送过来的时钟,这些时钟名字是自动生成的吗? 解释:是的。PS端设置的是ps_clk,用report_clocks查出来的时钟名变成了clk_fpga_0&a…

vue系列--通过js生成前端水印的方法

此方法开箱即用,在vue项目中import即可。 例如: //在vue组件中 import Watermark from /utils/watermark.js//在methods中 Watermark.set({color:"",text:""})//设置水印Watermark.remove() //删除水印 const watermark {}const…

Linux篇:进程

一. 前置知识 1.1冯诺依曼体系结构 我们常见的计算机,如笔记本。我们不常见的计算机,如服务器,大部分都遵守冯诺依曼体系 为什么计算机要采用冯诺依曼体系呢? 在计算机出现之前有很多人都提出过计算机体系结构,但最…

时序数据库TimescaleDB,实战部署全攻略

📢📢📢📣📣📣 哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验 一位上进心十足的【大数据领域博主】!😜&am…