-
Notifications
You must be signed in to change notification settings - Fork 2
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[김중현] 4주차 과제 - complete #33
Merged
Merged
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,74 @@ | ||
# 4주차 서버 세션 | ||
## ✏️ 기본 과제 | ||
```markdown | ||
1. Bastion Host 없이 모든 서버에 퍼블릭 IP 부여하기 | ||
2. `http://www.도메인이름`으로 접근하면 사용자용 Nginx 웹 서버가 보이고, `http://dev.도메인이름`으로 접근하면 관리자용 웹 서버가 보인다. | ||
``` | ||
<br> | ||
|
||
## 기본 과제 인증 | ||
1. ALB 리스너 규칙 | ||
<img width="1792" alt="스크린샷 2023-11-10 오후 12 12 15" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/0ade04e1-da57-4b9b-8169-a5a2b2481140"> | ||
|
||
2. DNS 접근 <br> | ||
→ [영상 인증](https://drive.google.com/file/d/18HRALxm2ToXLiYP-37LGisrY-CT0X97g/view?usp=sharing) | ||
<br> | ||
|
||
## 기본 과제 해결 과정 | ||
1. `ALB`에 dev용 리스너 규칙 추가 | ||
- 호스트 헤더값 `dev.joong.store`, 대상 그룹 `web-dev`로 전달되도록 설정한다. | ||
- 규칙 우선수위 1순위는 user용으로 사용했기 때문에 2순위로 설정한다. | ||
- cf) 규칙은 가장 낮은 값에서 가장 높은 값에 이르기까지 우선 순위에 따라 평가된다. 기본 규칙은 마지막에 평가된다. | ||
<br> | ||
|
||
2. `joongh.store` 도메인에 `dev.joongh.store`를 name으로 하는 A 레코드를 생성한다. | ||
<img width="1426" alt="스크린샷 2023-11-10 오후 12 16 35" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/02f7bf5e-884d-4bf5-838f-a6d207c893f4"> | ||
|
||
<br> | ||
|
||
3. 로컬에서 `web-dev`와 `web-user` 서버에 각 index.html 파일을 전송하고, `/usr/share/nginx/html` 경로에 있는 index.html를 대체한다. | ||
<img width="899" alt="스크린샷 2023-11-10 오후 12 29 21" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/50b4b7f4-0178-4df8-9a75-58d248489f8c"> | ||
|
||
<img width="895" alt="스크린샷 2023-11-10 오후 12 36 35" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/b5c45db6-91dd-41f7-ae69-daad3764b4ee"> | ||
|
||
<br> | ||
|
||
## 📚 심화 과제 | ||
```markdown | ||
1. 기본 과제를 통해 구축한 서버를 활용해 ACM 발급 및 적용하기 | ||
2. ALB는 "https://도메인이름"으로 접근하면 Nginx 웹 서버가 보이고, "http://도메인이름"으로 접근하면 자동으로 HTTPS 트래픽으로 리다이렉트된다. | ||
``` | ||
<br> | ||
|
||
## 심화 과제 인증 | ||
- `https://도메인이름`으로 접근 시 Nginx 웹 서버가 보이고, `http://도메인이름`으로 접근 시 HTTPS로 리다이렉션이 일어나는 모습 <br> | ||
→ [영상 인증](https://drive.google.com/file/d/1N_jYWKbYMFhBppjxn2_1AzpSe4fhRJsf/view?usp=sharing) | ||
|
||
<br> | ||
|
||
## 심화 과제 해결 과정 | ||
1. ACM 퍼블릭 인증서 요청 | ||
- 루트 도메인뿐만 아니라, 모든 서브 도메인에 대해서 인증서를 발급받기 위해 `joongh.store`, `*.joongh.store`로 도메인 이름을 설정한다. | ||
<img width="1150" alt="스크린샷 2023-11-10 오후 12 56 15" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/2d7a8752-44f4-41ed-9b66-319c8332be99"> | ||
|
||
2. 생성된 인증서를 클릭해 모든 도메인에 대해 `Route53에서 레코드 생성`한다. | ||
3. ALB의 리스너 규칙 중 `HTTP`를 `HTTPS`로 수정하고, 보안 리스너 설정 파트에서 위에서 생성한 ACM 인증서를 선택해준다. | ||
<img width="649" alt="스크린샷 2023-11-10 오후 1 05 49" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/4c333224-cc07-4cdc-98cf-9a34981f6982"> | ||
|
||
<br> | ||
|
||
4. HTTPS 트래픽을 허용하도록 ALB 보안그룹의 인바운드 규칙을 수정한다. | ||
<img width="821" alt="스크린샷 2023-11-10 오후 1 09 19" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/2bf46d8c-86b5-48a4-b08e-40837a88aee9"> | ||
<img width="1754" alt="스크린샷 2023-11-10 오후 1 11 01" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/066f6e5b-0bde-428e-89d7-17ff1a18e16d"> | ||
|
||
<br> | ||
<br> | ||
|
||
5. HTTP로 들어오는 트래픽을 HTTPS로 리디렉션 해주는 HTTP 리스너를 생성한다. | ||
<img width="841" alt="스크린샷 2023-11-10 오후 1 12 48" src="https://github.com/GDSC-Ewha-5th/GDSC-Server-5th/assets/80838501/bf75b59b-ee7d-47f7-ae88-2dfaf50a9ac8"> | ||
|
||
<br> | ||
|
||
## 참고 | ||
- ALB 리스너 규칙 | ||
https://docs.aws.amazon.com/ko_kr/elasticloadbalancing/latest/application/listener-update-rules.html | ||
Comment on lines
+72
to
+74
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ALB 리스너 규칙에 대해서 공식 문서를 참고해주셨네요! 이번 실습에서는 forward, redirect와 host-header를 다루었는데, 이 점을 공식 문서를 통해 공부해주신 점이 아주 좋아요:) |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
심화 과제도 해주셨네요!👍 좀 시간이 걸렸을 텐데 이렇게 구현해주셔서 감동이에요:)