업무

[Node.js] MSSQL 연결 방법 - ConnectionError SSL 관련

noteasy_l.j.s 2023. 2. 23. 16:52

회사에 원래 카페 24에 호스팅해서 이용중인 MSSQL을 연결해서

데이터를 관리해야 하는 일이 생겨버렸다.

 

그래서 기존 MYSql과 MSSQL을 둘다 이용해서 api를 구성해야 하는데

일단 이게 맞을지는 잘 모르겠지만

 

일단 검색해서 연결 방법을 알아보았다.

처음 시도는 아래와 같이 작성했다.

// mssql 연동
var sql = require('mssql');
var config = {
    user: 'sa',
    password: '비밀번호',
    server: 'localhost',
    database: 'DB 이름',
    stream: true
}

sql.connect(config, function(err){
    if(err){
        return console.error('error : ', err);
    }
    console.log('MSSQL 연결 완료')
})

물론 역시나 처음부터 잘 되면 뭔가 이상하다는 증거라고 하던가

ConnectionError: Failed to connect to '서버주소' :unsupported protocol:c:\ws\deps\openssl\openssl\ssl\statem\statem_lib.c:1986:

 

오류가 난다...

다시 검색...

// mssql 연결
var config = {
  user: '유저아이디',
  password: '패스워드',
  server: '서버주소',
  port: 포트번호,
  stream: true,
  options: {
    encrypt: false,
    database : '데이터베이스',
    trustServerCertificate: true,
  }
}

config를 위와 같이 바꾸니 연결되고, 데이터도 잘 받아와 진다.

 

검색하고 test해보니까 encrypt를 false로 해야 오류가 나지 않는다.

찾아보니 encrypt는 MSSQL 서버와 연결에 SSL 암호화를 사용할 지 결정하는 옵션인데, 

SSL암호화 설정을 따로 안해서 encrypt 값이 true일 때 오류가 나는 듯 하다.

 

보안상에는 물론 SSL 암호화를 사용해야 하겠지만, 일단 지금은 false로 설정해서 이용하고,

SSL 인증서 설정 등 내용 검색해서 보안에 신경써 봐야겠다.