MSA구조에서 쿠키를 다루다가 CORS (Cross-Origin Resource Sharing) 문제를 피하기 위해서
https로 변경이 필요해서 시도해 보게 되었다.
서버사이드는 여기 참조
먼저 인증서를 발급한다.
개발용 인증서를 생성하기 위해 openssl을 사용할 수 있습니다. 터미널에서 아래 명령을 실행
openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 365
암호를 입력하라는 창이뜬다.
이 명령은 1년 동안 유효한 cert.pem과 key.pem 파일을 생성
기존에 npm start로 시작했다면, 아래처럼 start대신 server.js로 변경
다음처럼 server.js를 작성하고, project root에 둔다.
console.log('sevity Server is starting...');
const { createServer } = require('https');
const { parse } = require('url');
const next = require('next');
const fs = require('fs');
const dev = process.env.NODE_ENV !== 'production';
const app = next({ dev });
const handle = app.getRequestHandler();
app.prepare().then(() => {
const options = {
key: fs.readFileSync('./key.pem'),
cert: fs.readFileSync('./cert.pem'),
passphrase: 'abcd123$'
};
createServer(options, (req, res) => {
const parsedUrl = parse(req.url, true);
handle(req, res, parsedUrl);
}).listen(9992, (err) => {
if (err) throw err;
console.log('> Ready on https://localhost:9992');
});
});
npm start로 시작해보면 http대신 https로 되는걸 확인가능.
반응형
'Programming > node.js' 카테고리의 다른 글
node.js/vscode 환경에서 디버깅 환경 구축하기 (0) | 2023.08.06 |
---|