-
[AWS] Lightsail Bitnami Nodejs 서버세팅방법서버 2020. 9. 15. 15:27
일단 Lightsail Nodejs 서버는 Apache 를 사용한다.
접속 순서는 유저 -> 아파치 -> nodejs 서버
방법을 정리하자면
abc.com 으로 접속을 하면 아파치에서 vhost 에서 프록시로 주소를 전달한다.(Like 공유기 DMZ 설정) 예) localhost:3000
3000 번 포트로 실행되고있던 nodejs 서버를 실행한다.
이 방식을 사용하면 nodejs 에서 http, https 모듈을 사용 할 필요가 없는 것 같다.
위와같이 작동하는 기능을 리버스프록시라고 하는것같다.
설명 : www.lesstif.com/system-admin/forward-proxy-reverse-proxy-21430345.html
NGINX로도 쓸수있는데 EC2
velog.io/@jakeseo_me/Node에서-NGINX를-리버스-프록시로-사용하기-번역
NGINX 를 쓰고싶지만 Lightsail 서버에서 기본 설정은 Apache를 사용한다.
아파치 vhost 위치
/opt/bitnami/apache/conf/vhosts/00_status-vhost.conf
<VirtualHost _default_:80> ServerName 주소 # ServerAlias * DocumentRoot "/opt/bitnami/apache/htdocs/src" <Directory "/opt/bitnami/apache/htdocs/src"> Require all granted </Directory> ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ </VirtualHost>
<VirtualHost *:443> ServerName 주소 SSLEngine on SSLCertificateFile "/etc/letsencrypt/live/주소/fullchain.pem" SSLCertificateKeyFile "/etc/letsencrypt/live/주소/privkey.pem" DocumentRoot "/home/bitnami/경로" <Directory "/home/bitnami/경로"> Require all granted </Directory> ProxyPass / http://localhost:2999/ ProxyPassReverse / http://localhost:2999/ </VirtualHost> "/opt/bitnami/apache/conf/vhosts/00_status-vhost.conf" 24L, 805C 23,26 Bot
ssl 적용할 때 프록시에서는 http로 적혀있지만 ssl 적용에는 문제가 없다.
vhost conf 파일 이름이 마음에 들지 않다면
/opt/bitnami/apache/conf/httpd.conf /vhost 검색 후
IncludeOptional "/opt/bitnami/apache/conf/vhosts/*.conf" -> 특정 이름으로 바꾸던지 00_status-vhost.conf 파일 이름을 수정해준다.
수정 후에 /opt/bitnami/ctlscript restart 필수
테스트 환경 js
const koa = require("koa"); const app = new koa(); const HTTP_PORT = 3000; app.use(async (ctx) => { ctx.body = "Hello World"; }); app.listen(HTTP_PORT, () => console.log(`Example app listening on port ${HTTP_PORT}!`));
express 대신 express 개발자가 만들었다는 가볍다고 하는 koa 를 사용해보았다.
이후 koa 세팅방법은 dev.ewq.kr/29 를 참고한다.
'서버' 카테고리의 다른 글
Bitnami nginx 로 letsencrypt 적용시키기 (0) 2020.06.14 API 보안 체크리스트 (0) 2020.06.09 프로그래밍 수정중 특정 문자열이 포함된 파일들 검색 (0) 2020.05.22 라이트세일 ssh 키 말고 비밀번호로 로그인 허용 (0) 2020.05.19 vhost 세팅 80포트부터 443 ssl 포트까지 (0) 2020.05.05