Cafe24 도메인 AWS EC2에 연결하기 (Route53)
AWS 인증서 발급 받아 https 적용하기 : aws certificate https
nginx let's encrypt로 https 적용하기
ubuntu - Let's Encrypt으로 Nginx에 무료 SSL 적용
https 서버로 바꾸기 위한 절차
1. 도매인 구매 후, EC2 서버를 https로 변경한다. (보안그룹에 443 port 열어놔야한다. : https 서버라서) => 시간 좀 걸림
2. https로 변경되었으면 리눅스서버(우분투)에서 Let's Encrypt 인증서 발급한다.
3. 인증서가 발급 되었으면 받은 공개키와 비밀키위치를 nginx와 연결한다.
4. 그럼 https로 react 프로젝트가 열리는데 그 다음에는 node 프로젝트에 공개키와 비밀키 위치를 연결한다.
- 인증서를 받고 나서, 아래에 있는 .pem 파일을 연결해야 한다.
nginx에 ssl 인증서 파일 연결하기
- 나는 /etc/nginx/sites-available과 /etc/nginx/sites-enabled에 react 프로젝트 conf 파일을 생성했다. (client.conf)
- 아래 처럼 conf 파일을 세팅한다.
- 공개키 경로 /etc/letsencrypt/live/도메인주소/fullchain.pem
- 비밀키 경로 /etc/letsencrypt/llive/도메인주소/privkey.pem
server {
listen 443 ssl default_server;
server_name bandari.store;
ssl on;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
include /etc/letsencrypt/options-ssl-nginx.conf;
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;
location / {
root /home/ubuntu/example/client/build;
index index.html index.htm;
try_files $uri /index.html;
}
}
nginx 오류 날 때 vi /etc/nginx/nginx.conf의 user가 root로 되어있는지 확인하기
node에 ssl 인증서 파일 연결하기
- letsencrypt에 있는 .pem 파일을 복사해서.. server폴더 안에 server.js 부분과 함께 있는 곳에 옮겼다.(sudo cp pem파일이름 경로, sudo chmod -R 700 live)
const express = require('express');
const app = express();
const session = require('express-session');
const fs = require('fs');
const options = {
ca: fs.readFileSync('./fullchain.pem'),
key: fs.readFileSync('./privkey.pem', 'utf8'),
cert: fs.readFileSync('./cert.pem', 'utf8'),
};
const https = require('https').createServer(options, app);
....
https.listen(process.env.PORT, () => {
console.log(`${process.env.PORT} server running`);
});
- 기존 node는 http로 돌렸는데 변경하고 나서 https서버로 돌렸다...!
- node를 https로 바꾸지 않고, EC2 서버랑 nginx만 https로 바꾸면 node와 db axios요청을 할 때 오류가 생긴다...!(당연하게도...)
- 처음에는 nginx에만 연결하면 될 줄 알았는데 node와도 연결해야 한다....!
http -> https 서버로 바꾸는 거 쉽지 않다...사실 node를 build하고 해야 한다는데.. 아직 거기까지는 하지 못했다.. 그래도 여기까지라도 한게 어디인가 싶긴 하다..!
내가 알아볼 수 있게만 기억나는 것만 적었다..!
'Sesac 웹 풀스택[새싹X코딩온]' 카테고리의 다른 글
[Docker] Docker Compose 기본 개념 및 node, react(nginx) 연결 (0) | 2023.03.21 |
---|---|
[Docker] Dockerfile, Dockerfile node와 연결, nginx(react)와 연결 (0) | 2023.03.21 |
[Docker] 기본 개념 및 설치(오류), 주요 명령어(docker run) (0) | 2023.03.21 |
ubuntu에 bind-address 설정하기 (0) | 2023.02.12 |
Node.js 프로젝트 서버 올리고 FileZilla에 옮기기 (0) | 2022.12.31 |