如何配置固定TCP公网地址实现远程访问内网MongoDB数据库

文章目录

  • 前言
  • 1. 安装数据库
  • 2. 内网穿透
    • 2.1 安装cpolar内网穿透
    • 2.2 创建隧道映射
    • 2.3 测试随机公网地址远程连接
  • 3. 配置固定TCP端口地址
    • 3.1 保留一个固定的公网TCP端口地址
    • 3.2 配置固定公网TCP端口地址
    • 3.3 测试固定地址公网远程访问

前言

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

简单几步实现MongoDB远程访问。

1. 安装数据库

打开MongoDB官网https://www.mongodb.com/try/download/community,这里以windows版本为例。

20230220114401

下载好后,双击安装即可,安装到这一步,须点击complate设置账号密码

20230220114402

进入后可以设置一下密码,然后点击next,或者直接点击next安装即可

20230220114403

安装好后,我们使用连接工具测试连接,这里使用navicat连接

20230220114404

2. 内网穿透

本地连接没问题后,目前该数据库只能在局域网内被访问,不过我们可以使用cpolar内网穿透工具,将内网的MongoDB数据库映射到公网上,实现远程访问,不需要公网IP,也不用设置路由器。

2.1 安装cpolar内网穿透

进入cpolar官网下载页面,下载windows安装包到本地然后解压一路默认安装即可

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

20230220114405

2.2 创建隧道映射

cpolar安装成功后,双击打开cpolar【或者在浏览器上访问本地9200端口:127.0.0.1:9200】,使用cpolar邮箱账号登录 web UI管理界面,如果还没有注册cpolar账号的话,点击免费注册,会跳到cpolar官网注册一个账号就可以了

20230220114406

登录成功后,点击左侧仪表盘的隧道管理——创建隧道,创建一个tcp协议的隧道指向本地27017端口:

  • 隧道名称:可自定义,注意不要与已有的隧道名称重复
  • 协议:tcp
  • 本地地址:27017
  • 域名类型:免费选择随机域名
  • 地区:默认China top即可

点击创建

20230220114407

隧道创建成功后,点击左侧的状态——在线隧道列表,可以看到刚刚创建的隧道已经有生成了相应的公网地址,将其复制下来

20230220114408

2.3 测试随机公网地址远程连接

打开navicat,输入tcp公网地址:3.tcp.cpolar.top端口号11249,然后点击测试连接,出现连接成功即可。

20230220114409

3. 配置固定TCP端口地址

由于以上创建的隧道是随机地址隧道,地址会在24小时内变化,为了使连接更加稳定,我们可以为其配置一个固定的tcp连接地址。

需要注意,配置固定TCP端口地址需要将cpolar升级到专业版套餐或以上。

3.1 保留一个固定的公网TCP端口地址

登录cpolar官网,点击左侧的预留,选择保留的TCP地址,我们先来为远程MongoDB保留一个固定端口地址。

  • 地区:选择China VIP
  • 描述:即备注,可自定义填写

点击保留

20230220114411

地址保留成功后,系统会生成相应的固定公网地址,将其复制下来
20230220114412

3.2 配置固定公网TCP端口地址

在浏览器上访问9200端口,http://127.0.0.1:9200/,登录cpolar web ui管理界面,点击左侧仪表盘的隧道管理——隧道列表,找到MongoDB隧道,点击右侧的编辑

20230220114413

修改隧道信息,将保留成功的固定tcp地址配置到隧道中:

  • 端口类型:修改为固定tcp端口
  • 预留的tcp地址:填写保留成功的地址

点击更新

20230220114414

隧道更新成功后,点击左侧仪表盘的状态——在线隧道列表,找到需要编辑的隧道,可以看到公网地址已经更新成为了固定tcp地址。

20230220114415

3.3 测试固定地址公网远程访问

测试使用固定TCP端口地址远程MongoDB,再次打开navicat,使用固定tcp地址连接

20230220114416

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

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

相关文章

Java建造者模式源码剖析及使用场景

一、介绍 Java 中的建造者模式(Builder Pattern)是一种创建型设计模式,它将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。该模式主要用于创建一些复杂的对象,这些对象内部由多个部分组成,各部分之间存在着复杂的相互依赖关系。 二、有什么好处&am…

JVM工作原理与实战(四十三):JVM常见面试题目

专栏导航 JVM工作原理与实战 RabbitMQ入门指南 从零开始了解大数据 目录 专栏导航 前言 一、JVM常见面试题目 1.什么是类加载器,有哪些常见的类加载器? 2.什么是双亲委派机制,以及如何打破双亲委派机制? 3.如何判断堆上的对…

Hive超市零售案例

超市零售案例 一、部分数据展示 Fiskars 剪刀| 蓝色,61,中国,华东,杭州,用品,曾惠,2,浙江,办公用品,US-2019-1357144,130 GlobeWeis 搭扣信封| 红色,43,中国,西南,内江,信封,许安,2,四川,办公用品,CN-2019-1973789,125 Cardinal 孔加固材料| 回收,4,中国,西南,内江,装订机,许…

Unity性能优化篇(十) 模型优化之网格合并 Easy Mesh Combine Tool插件使用以及代码实现网格合并

把多个模型的网格合并为一个网格。可以使用自己写代码,使用Unity自带的CombineMeshes方法,也可以使用资源商店的插件,在资源商店搜Mesh Combine可以搜索到相关的插件,例如Easy Mesh Combine Tool等插件。 可大幅度减少Batches数量…

css flex 布局换行

默认使用display: flex;是不换行的,只需要加上flex-wrap: wrap;就行了,效果图 .app-center {display: flex;flex-wrap: wrap;justify-content:flex-start; } 通过上面我们发现虽然时间换行了,但是每行的边距不一样 加上这个就行了&#xff…

Jupyter Notebook使用教程——从Anaconda环境构建到Markdown、LaTex语法介绍

0. 前言 按照国际惯例,首先声明:本文只是我自己学习的理解,虽然参考了他人的宝贵见解及成果,但是内容可能存在不准确的地方。如果发现文中错误,希望批评指正,共同进步。 你是否在视频教程或说明文档或Githu…

软件测试面试:接口自动化测试面试题(含答案+文档)

🍅 视频学习:文末有免费的配套视频可观看 🍅 关注公众号【互联网杂货铺】,回复 1 ,免费获取软件测试全套资料,资料在手,涨薪更快 1、json和字典的区别? Json是轻量级的数据交互格式…

ChatGPT 基本用法!ChatGPT4的prompt的使用例子!

授人以鱼,不如授人以渔。这句话在AI领域尤为贴切,尤其是在构建与AI模型交互的prompt(提示)时。OpenAI在Discord官方服务器上设有一个名为prompt-library的频道,这里聚集了各种创意和专业的prompt,涵盖了从写…

Linux C 中执行shell命令

文章目录 摘要前言exec函数的使用system函数使用popen函数的使用 摘要 本文尝试使用exec,system,popen函数,来执行一个shell命令。(1) 如果只需要执行命令后的返回值,不关心标准输出,错误输出,可以使用system函数。(2) 如果希望拿…

基于java+springboot+vue实现的火车票订票系统(文末源码+Lw)294

摘要 火车票订票系统可以对火车票订票系统信息进行集中管理,可以真正避免传统管理的缺陷。火车票订票系统是一款运用软件开发技术设计实现的应用系统,在信息处理上可以达到快速的目的,不管是针对数据添加,数据维护和统计&#xf…

HAproxy反向代理与负载均衡

目录 一、HAproxy介绍 1. 概述 2. 关于4/7层负载均衡 2.1 无负载均衡 2.1.1 图示 2.1.2 说明 2.2 四层负载均衡 2.2.1 图示 2.2.2 说明 2.3 七层负载 2.3.1 图示 2.3.2 说明 3. 特性 4. HAProxy负载均衡常见策略 5. 处理模式 二、HAproxy安装 1. yum安装 2. 第…

Vue - v-if和v-else-if和v-else的使用

一、简单的演示 <body><div id"app"><p v-if"score>90">优秀</p><p v-else-if"score>60">及格</p></div><script src"../js/vue.js"></script><script>const app…

3月11日代码随想录电话号码的字母组合

17.电话号码的字母组合 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&#xff1a;digits &q…

mysql的索引、事务、分库分表问题

1.了解MySQL的索引吗&#xff1f;它为什么使用Btree作为底层&#xff0c;而不是其他呢&#xff1f; 这里我们要谈的是其他数据结构的缺点&#xff0c;然后说说Btree的优点&#xff0c;也就看你对MySQL的Btree与其他数据结构熟不熟悉。 Hash &#xff08;1&#xff09;Hash 索引…

Error running ‘Attach debug to process‘

这里写自定义目录标题 Ubuntu导入源码调试遇到错误 Ubuntu导入源码调试遇到错误 打开调试UI&#xff0c;选择system_process进程&#xff0c;直接右下角弹出错误对话框。错误如下&#xff1a; Error running ‘Attach debug to process’ Unable to find project context to …

[HackMyVM]靶场 Espo

kali:192.168.56.104 主机发现 arp-scan -l # arp-scan -l Interface: eth0, type: EN10MB, MAC: 00:0c:29:d2:e0:49, IPv4: 192.168.56.104 Starting arp-scan 1.10.0 with 256 hosts (https://github.com/royhills/arp-scan) 192.168.56.1 0a:00:27:00:00:05 (Un…

openAI key 与ChatGPTPlus的关系,如何升级ChatGPTPLus

一、前言 先详细介绍一下Plus会员和Open API之间的区别&#xff1a; 实际上&#xff0c;这两者是相互独立的。举例来说&#xff0c;虽然您开通了Plus会员&#xff0c;并不意味着您就可以使用4.0版本的API。尽管这两个账户可以是同一个&#xff0c;但它们是完全独立的平台。 …

小程序设备控制API能力汇总——DP相关API

ty.device.publishDps 下发 DP 功能点 需引入DeviceKit&#xff0c;且在>1.2.6版本才可使用 请求参数 Object object 属性类型默认值必填说明deviceIdstring是设备 iddpsRecord<dpId, any>是dpsmodenumber是下发通道类型 0: 局域网 1: 网络 2: 自动pipelinesArray&…

rocketmq学习笔记(一)安装部署

初次使用rocketmq&#xff0c;记录一下全流程步骤。 1、下载安装包 首先在官网&#xff0c;下载安装包&#xff0c;可也根据官方文档进行部署&#xff0c;但有一些细节没说明&#xff0c;可能会有坑&#xff0c;本文会尽量详细的描述每个步骤&#xff0c;把我踩过的坑填补上。…

后端八股笔记------Redis

Redis八股 上两种都有可能导致脏数据 所以使用两次删除缓存的技术&#xff0c;延时是因为数据库有主从问题需要更新&#xff0c;无法达到完全的强一致性&#xff0c;只能达到控制一致性。 一般放入缓存中的数据都是读多写少的数据 业务逻辑代码&#x1f447; 写锁&#x1f4…