node.js

node.js

[express] 프로젝트 배포 후 res.clearCookie로 쿠키 삭제 안되는 이슈

Set-Cookie 설정을 통해 서버에서 브라우저로 쿠키를 저장하는 식으로 로그인 로직을 구현하고 사용자가 로그아웃을 하면 서버에서 세션을 파괴하고 쿠키를 삭제하는 식으로 진행하였다. 쿠키 생성 코드 const express = require('express'); const app = express(); const session = require('express-session'); app.use( session({ key: 'user_auth', saveUninitialized: false, resave: false, secret: process.env.COOKIE_SECRET, proxy: process.env.NODE_ENV === 'productio..

node.js

[Node.js] express 사용중 html파일에서 외부 js파일 불러오기

//index.html js폴더안에 있는 index.js를 불러옴 위와같이 js파일을 불러오지못하는 에러발생 //server.js const express = require('express'); const app = express(); app.use('/경로', express.static(__dirname + '/경로')); app.listen(8080, function () { console.log('listening on 8080'); }); app.get('/pet', function (req, res) { res.send('펫페이지'); }); app.get('/', function (req, re..

node.js

[express] net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin 에러

이미지 태그에 api서버의 이미지 경로를 주었다. 하지만 콘솔창에 net::ERR_BLOCKED_BY_RESPONSE.NotSameOrigin 이에러가 찍히면서 이미지가 안나오는 것이었다. url에 직접 주소를 쳐보니 정상적으로 나오는 것을 확인하였고, 검색을 해보니 다른 출처로부터 리소스를 가져오려면 따로 백엔드쪽에 설정을 해야 했다. 나는 express를 사용하고있었고, helmet을 통해 설정을 해주었다. app.use(helmet.crossOriginResourcePolicy({ policy: 'cross-origin' })); 이런식으로 해주니 정상적으로 이미지가 나타나는 것을 볼 수 있었다.

node.js

[express] 서로 다른 도메인 쿠키 공유 (Vercel에서 가비아 도메인 설정)

프론트는 Next.js, 백엔드는 express로 프로젝트를 완성하고 Vercel에 배포를하였다. 그러나 로그인 하는부분에서 문제가 생긴 것이다. 사용자가 로그인을 요청하면 백엔드에서는 사용자정보를 세션에 저장하고 그 값을 클라이언트에 쿠키로 보내서 로그인이 필요한 서비스 이용시 백엔드에 쿠키를 같이 보내도록 작업을 해놓았는데 로컬에서 작업할때는 잘 작동이 되었지만 배포를 한 이후에는 쿠키값을 전달받지 못하는 상황이었다. 알고보니 express-session 부분에 설정을 다르게 해야된다는 것을 깨닫게 되었다. 기존 코드 const express = require('express'); const app = express(); const session = require('express-session'); ..

node.js

[MariaDB] MariaDB 클라우드타입에 배포하고 sequelize와 연결하기

Next.js + express + mariadb 를 이용한 블로그 프로젝트를 완성하여 mariadb를 클라우드타입에 배포해볼려고한다. 원래는 heroku에 배포할려고 했다가 단계적으로 프리티어 서비스를 종료한다고 해서.. 무료로 배포할 수 있는 클라우드타입에 배포를 진행하였다. 먼저 클라우드타입에 로그인을 해주어야한다. https://cloudtype.io/ 1. 템플릿으로 시작하기 > MariaDB 선택 2. 애플리케이션 설정 버전, root password, 서비스이름, 프로젝트를 선택한뒤 배포하기를 누르면 된다. 3. TCP 외부 접속 허용 프로젝트가 생성이 되었으면 프로젝트 설정탭에 들어가서 방화벽에 TCP 외부 접속 허용을 해준다. 4. MySQL Workbench와 연결하기 프로젝트 패널의 ..

node.js

Node.js 설치 및 LTS버전과 Current버전

HTML 삽입 미리보기할 수 없는 소스 📗 Node.js 란 Node.js는 Chrome V8 Javascript 엔진으로 빌드된 Javascript 런타임이다. 런타임이란? 프로그래밍 언어가 구동되는 환경 Node.js는 JavaScript를 서버에서도 사용할 수 있도록 만든 프로그램이다. Node.js는 서버사이트 스크립트 언어가 아닌 프로그램(환경)이다. Node.js는 웹서버와 같이 확장성 있는 네트워크 프로그램을 제작하기 위해 만들어졌다. Node.js 다운로드 https://nodejs.org/en/ 1. Node.js 설치 LTS 버전 Long Term Support의 줄임말 오랜 기간 지원 가능 (2년) 여기서 말하는 '지원'이란, 해당 버전에 대한 안정성, 신뢰도를 보장 버전 숫자가 짝수..

개발하는 몽이
'node.js' 카테고리의 글 목록