Mongo + express + cors + GCP

2025. 6. 19. 11:17·서버

MongoDB => Ajax 바로 접속해서 데이터 가져오면 위험

db.js => express => 가상 통신 서버를 구축 

Front-end => Ajax => express서버 => MongoDB => return

 

Front-end => 로컬호스트

express => GCP

 

[서버 접속]

sudo -s

su cms

cd /home/cms/www

npm install express

npm install cors

 

[GCP 방화벽 규칙 추가]

express를 위해 방화벽 규칙 추가해야함

기본 3000포트는 해커들이 너무잘알아

다른거로 한번써보댱

만들기~

 

[몽고]

use cms

 

db.createCollection('members',{
capped:true,
size:1000,
max:10
})

 

db.members.insertOne({"userid":"hong","username":"홍길동"})

 

[서버]

cd /home/cms/www

node db.js

몽고연결하던 파일 실행하면 전과 다르게 Auth에러 남

왜? 계속 몽고 털려서 보안을 추가했더니 나도 들어갈때 나라는것을 알려줘야함

 

use admin

db.auth("your_admin_user", "your_admin_password") // 관리자 계정으로 인증

db.grantRolesToUser(

"master", [ { role: "userAdmin", db: "cms" }

// cms 데이터베이스에 대한 userAdmin 역할 부여 ] )

 

뭐지 admin디비에 만들어둔 master라는 사용자에게 권한을 줬따

근데 이케하는게 아니야

 

사용자를 다시 만들자

admin디비에!

 

[몽고]

use admin

데이터베이스 선택

 

db.auth("master","비번");

최고관리자로 로그인


db.createUser({
user:"koo",
pwd:"비번",
roles:[
  {role:"readWrite",db:"cms"}]
});

사용자 생성 

이러케하고 

[js]

//해당 node서버에서 라이브러리를 호출 
const { MongoClient } = require('mongodb');

//사용자 접속 정보
var userid = encodeURIComponent('koo');
var userpw = encodeURIComponent('비번');
var host = "아이피:27017";
var dbnm = "cms";

//mongodb 접속 경로 및 데이터베이스명 
const uri=`mongodb://${userid}:${userpw}@${host}/${dbnm}?authSource=admin`;

var client = new MongoClient(uri);      //접속체크 
var db = null;

async function abc(){
        try{
                await client.connect();         //연결 응답 대기 상황  
                console.log("MongoDB connect success!");
                db = client.db(dbnm);   //DB연결 정보 및 컬렉션 연결 준비 
                var collection = db.collection('members');      //컬렉션 이름

                var query = await collection.find({}).toArray();
                console.log("멤버 리스트 : ", query);
        }catch(error){
                console.log(error);
        }finally{
            await client.close();
        }
}

abc();  //해당 데이터베이스를 연결하는 함수를 호출

이렇게 수정해서 

[서버]

node db.js

하면!!!!

잘뜬다!!!!!!야후

 

근데 js로 연결하는거는 안좋다고 함 


 

이거슨 응답을 받고있다는것.

 

 

 

 

 

저작자표시 비영리 변경금지 (새창열림)
'서버' 카테고리의 다른 글
  • 카카오 지도 api
  • GCP + https 적용하기
  • 도메인 + 서버
  • 도메인 + GCP + 배포
9na0
9na0
응애
  • 9na0
    구나딩
    9na0
  • 전체
    오늘
    어제
    • 분류 전체보기 (210)
      • Web (118)
      • Java (28)
      • 데이터베이스 (14)
      • 세팅 (12)
      • 과제 (3)
      • 쪽지시험 (2)
      • 정보처리기사 (4)
      • 서버 (24)
  • 블로그 메뉴

    • 링크

      • 포폴
      • 구깃
    • 공지사항

    • 인기 글

    • 태그

      spring-boot
      file25
      io_dto
      net1
      file25_t
      file24
      noticewriteok
      Oracle
      net4
      re2
      notice_writer
      re_java10
      macbook pro m4
      ab1
      net2
      exam1_1~10
      net5~10
      java_io1~10
      net3
      datalist
    • 최근 댓글

    • 최근 글

    • hELLO· Designed By정상우.v4.10.3
    9na0
    Mongo + express + cors + GCP
    상단으로

    티스토리툴바