- 프로그래머스
- sql
- jpa
- SSL
- Git
- Django
- mysql
- select
- 자바
- 1차원 배열
- 문자열
- Docker
- join
- 데이터베이스
- DI
- 스프링부트
- ORM
- PYTHON
- @transactional
- session
- java
- spring mvc
- spring boot
- spring
- nginx
- string
- AWS
- springboot
- spring security 6
- 스프링
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
목록nginx (6)
개발하는 자몽
적용 전 준비할 코드 nginx.conf worker_processes auto; events { worker_connections 1024; } http { ... # for load balancing upstream project_server { server project_server2:8000; server project_server1:8000; keepalive 1024; } server { listen 80; location / { proxy_pass http://project_server/; # upstream 이름 proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; ... } ... ..
목차SSL/TLSCertbot 설정과 SSL 적용설정 과정더미 인증서 생성인증서 갱신 자동화⭐️ 실제 진행 순서 SSL/TLS전송 계승 상에서 클라이언트, 서버에 관한 인증 및 데이터 암호화 수행클라이언트와 서버 양단간 응용 계층 및 TCP 전송 계층 사이에서 수행보안용 프로토콜로 안전한 보안 채널을 형성하는 역할SSL = Secure Socket Layer TLS = Transport Layer Security HTTPS = HTTP over SSL HTTP에 SSL이 적용된 HTTPS를 이용하여 통신을 암호화하면 보안을 높일 수 있다. 이를 위해서는 SSL 인증서가 필요하다. 우리는 CA 중 하나인 Let's Encrypt를 통해 무료로 인증서를 발급받을 것이다. Let's Encrypt는 SSL ..
상황 EC2를 사용하고 있어서 SSL 적용을 ACM으로 해보려고 했는데 실패하고 Let's Encrypt를 사용했다. ACM SSL 인증서는 AWS Load Balancer, CloudFront, API Gateway를 통해서만 사용할 수 있다. 마침 로드 밸런싱을 Nginx로 하고 있었던 차에 ELB로 바꿔야지 하면서 ALB를 생성했었다. 생성하고 난 다음에 문제는 ALB에서 보내는 헬스 체크 요청이 Nginx(웹서버)에 도달하지 않는 것이다. ALB의 리스너 설정이나 대상 그룹 설정 등을 모두 확인했으나 Nginx에 요청이 도달하지 않았다. 나는 총 3개의 포트를 사용했던 것 같다. 아래 세 개 모두를 보안 그룹에 설정해 두었고, ALB 리스너 설정에도 추가해 두었다. (지금 생각해 보면 80, 44..
static file 관리 Django 프로젝트를 배포할 때 `DEBUG` 설정은 `False`로 설정하게 된다. 이미지가 저장된 경로로 API 요청하는 것에 대해서 `True`일 때는 `MEDIA_ROOT`와 `MEDIA_URL` 설정만 하면 이미지가 저장된 경로로 API 요청을 했을 때 200 응답을 받을 수 있다. 하지만 `False`일 때 요청을 하면 404 에러가 발생한다. static 파일 관리는 `INSTALLED_APPS`의 `django.contrib.staticfiles` 모듈이 담당하고 있는데, settings.py의 `DEBUG`를 `False`로 바꾸면 동작하지 않는다. 따라서 static 파일의 처리는 Apache나 Nginx와 같은 웹 서버가 담당하게 된다. 관련 내용은 여기를..
→😎Nginx의 로드 밸런싱 기능을 사용하게 된 이유는 아래 글을 참고😎 서버 부하 테스트 with Locust 개발 중인 애플리케이션에 대해서 조언받는 분에게 부하 테스트(Load Test)를 해보았냐는 질문을 받았다. 항상 개발을 하는 것과 해당 기능을 테스트하는 것에만 집중했지, 서버 그 자체를 테스트 backend-jaamong.tistory.com 위와 같은 이유로 로드 밸런싱을 적용하게 되었다. Nginx를 사용한 이유는 적용 방식이 간단하고 L4, L7 스위치로 하는 방법과 달리 비용이 들지 않기 때문이다. 그리고 Nginx를 도입하기 전 같은 기능을 제공하는 AWS의 ELB(Elastic Load Balancing)와도 비교해 보았다. 자세한 내용은 잘 정리해 둔 아래 글을 참고! AWS ..
Backend Architecture - AWS EC2 진입 - Nginx 진입 - Nginx는 실제로 하나지만, 기능 및 아키텍처 이해를 돕기 위해 순서를 나눴다 : 로드 밸런싱, 웹서버(view) 기능, 리버스 프록시/포트 포워딩 기능 - Nginx의 기능을 나누지 않고 하나로 썼을 때는 말 그대로 하나로 보면 된다. - AWS S3는 사진/동영상 업로드 용으로 사용 큰 틀 ▷ IDE ↔ Gitlab CI/CD ↔ Gradle(build) ↔ Docker(deploy) ↔ Nginx(Web Server) ↔ SpringBoot(WAS) ↔ JPA ↔ MySQL(DB, AWS RDS) DB ▷ RDS를 사용한다면 EC2 밖, 사용하지 않고 EC2 내부에 설치할 경우 똑같이 배경색을 칠하는 것으로 생각한..