Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 최대공약수 예제
- 해외증권 양도세 한국투자증권
- 피보나치 예제
- recursion example
- 재귀함수 예제
- tomcat log
- 재귀 예제
- katalon
- 해외주식 양도세 신고
- git 연동
- 한국투자증권 양도세 신고
- katalon xpath
- 한국투자증권 해외주식 양도세
- 국세청 해외주식 양도세 신고방식
- katalon 사용법
- oracle group by
- CSTS 폭포수 모델
- 피보나치함수 예제
- js 자동완성
- katalon 비교
- bfs 미로탐색 java
- 홈택스 해외주식 양도세
- Katalon Recorder 사용법
- 주식 양도세 신고방법
- 피보나치함수
- katalon 자동화
- 톰캣 실시간 로그
- javascript 자동완성
- java.sql.SQLSyntaxErrorException
- 테스트 자동화
Archives
- Today
- Total
엄지월드
https 적용하기(Docker 사용) 본문
AWS Linux 1 버전에서 HTTPS를 무료로 적용하는 방법은 다음과 같다.
주로 Let's Encrypt를 사용하여 SSL 인증서를 발급 받는다.
EPEL 리포지토리 활성화:
sudo yum install epel-release
Certbot 설치
sudo yum install certbot
SSL 인증서 발급
Certbot이 인증서를 발급받으면, 발급된 인증서와 비공개 키는 /etc/letsencrypt/live/api.datecourse.net/ 디렉토리에 저장됩니다. 이 디렉토리에는 다음 파일이 포함됩니다:
- fullchain.pem: 전체 인증서 체인
- privkey.pem: 비공개 키
sudo certbot certonly --standalone -d yourdomain.com -d www.yourdomain.com
인증서 자동 갱신 설정
Let's Encrypt 인증서는 90일마다 만료됩니다. 자동 갱신을 설정하려면 다음 명령어를 추가합니다.
echo "0 0 * * * root certbot renew --quiet" | sudo tee -a /etc/crontab > /dev/null
Dockerfile 설정
# 1단계: 애플리케이션 빌드
FROM node:16 AS build
# 작업 디렉토리 설정
WORKDIR /app
# 의존성 파일 복사
COPY package*.json ./
# 의존성 설치
RUN npm install
# 모든 소스 코드 복사
COPY . .
# 애플리케이션 빌드
RUN npm run build
# 2단계: 애플리케이션 제공
FROM nginx:alpine
# 사용자 정의 nginx 설정 파일 복사
COPY nginx.conf /etc/nginx/nginx.conf
# 첫 번째 단계에서 빌드한 아티팩트를 Nginx의 html 디렉토리로 복사
COPY --from=build /app/build /usr/share/nginx/html
# 포트 80 노출
EXPOSE 80 443
# Nginx 서버 실행
CMD ["nginx", "-g", "daemon off;"]
nginx.conf 설정
worker_processes auto;
events {
worker_connections 1024;
}
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name your_domain;
# HTTP 요청을 HTTPS로 리다이렉트
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name datecourse.net;
ssl_certificate /etc/letsencrypt/live/your_domain/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your_domain/privkey.pem;
location / {
root /usr/share/nginx/html;
try_files $uri /index.html;
}
error_page 404 /index.html;
}
}
아래와 같이 실행 한다.
docker run -d \
-p 80:80 -p 443:443 \
-v /etc/letsencrypt:/etc/letsencrypt \
dockerid/travel-ui
'Server&DevOps' 카테고리의 다른 글
[Jenkins] 웹훅 에러 No valid crumb was included in the request (0) | 2024.09.22 |
---|---|
Jenkins Token 발급 방법 (0) | 2024.09.22 |
A서버(구글 클라우드)에서 B서버(AWS)로 SSH 통신하는 방법 (6) | 2024.09.02 |
AWS linux JDK11 설치 (0) | 2024.08.06 |
aws linux에서 MySQL 설치 방법 (0) | 2024.08.06 |
Comments