MongoDB Redis 外部访问加验证

mongodb

首先默认无密码启动
1 添加root用户:

db.createUser(
   {
     user: "root",
     pwd: "password",
     
     roles: [{"role":"root","db":"admin"}],
    /* All built-in Roles 
     Database User Roles: read|readWrite
     Database Admin Roles: dbAdmin|dbOwner|userAdmin
     Cluster Admin Roles: clusterAdmin|clusterManager|clusterMonitor|hostManager
     Backup and Restoration Roles: backup|restore
     All-Database Roles: readAnyDatabase|readWriteAnyDatabase|userAdminAnyDatabase|dbAdminAnyDatabase
     Superuser Roles: root 
    */
    
    // authenticationRestrictions: [ {
    //     clientSource: ["192.168.0.0"],
    //     serverAddress: ["xxx.xxx.xxx.xxx"]
    //  } ],

    //mechanisms: [ "<SCRAM-SHA-1|SCRAM-SHA-256>", ... ], 

    //passwordDigestor: "<server|client>"
   }
)

2 修改配置:

security:
  authorization: enabled
  javascriptEnabled: false
net:
  port: 27017
  bindIp: 0.0.0.0

完整配置如下:

## content
systemLog:
  destination: file
  logAppend: true
  path: /www/server/mongodb/log/config.log
 
# Where and how to store data.
storage:
  dbPath: /www/server/mongodb/data
  directoryPerDB: true

  journal:
    enabled: true
# how the process runs
processManagement:
  fork: true
  pidFilePath: /www/server/mongodb/log/configsvr.pid
 
# network interfaces
net:
  port: 27017
  bindIp: 0.0.0.0
 
#operationProfiling:
#replication:
#    replSetName: bt_main   
security:
  authorization: enabled
  javascriptEnabled: false

#sharding:
#    clusterRole: shardsvr
  1. 重启数据库

redis

  1. 找到config文件 注释掉 bind 127.0.0.1 接收来自所有ip的请求
  2. 找到配置文件中 requirepass 配置成自己想要的密码
#
# Warning: since Redis is pretty fast an outside user can try up to
# 150k passwords per second against a good box. This means that you should
# use a very strong password otherwise it will be very easy to break.
#
requirepass 2343d(^$@!)

问题

  • 可能需要开放服务器的相应端口 (云服务器安全组、或者宝塔安全配置)
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
MongoDB是一个基于文档存储的NoSQL数据库,它将数据存储为一个文档,数据结构由键值对构成,类似于json对象,字段值可以包含其他文档、数组以及文档数组。 MongoDB是一个非常灵活的数据库系统,适用于大规模数据存储和高并发读写操作。它具有高性能、可扩展性和可靠性的特点。 Redis是一个内存中的数据存储系统,它是一个key-value存储系统,支持多种数据结构,如字符串、列表、集合、有序集合和哈希等。Redis是单线程模型的,这样可以避免CPU不必要的上下文切换和竞争锁的消耗,从而提高性能。但是,由于是单线程,如果某个命令执行时间过长,会造成阻塞。 Redis主要用于缓存、消息队列和实时数据分析等场景,它的响应速度非常快。 总结来说,MongoDB是一个文档型数据库,适用于大规模数据存储和高并发读写操作,而Redis是一个内存存储系统,适用于缓存和实时数据分析等场景。两者都有各自的特点和优势,可以根据具体需求选择使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [MongoDB&Redis基础知识](https://blog.csdn.net/Enternalwiser/article/details/130309197)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值