도찐개찐
[Docker] Nginx OpenSSL 설정 본문
Docker Nginx OpenSSL 설정
1. Docker nginx 컨테이너 SSL 포트 expose
Nginx 컨테이너 생성: Nginx 컨테이너를 생성합니다. 이를 위해 Docker 명령어를 사용합니다. 예를 들어, 기본 Nginx 이미지를 사용할 수 있습니다
$ docker run --name my-nginx -p 80:80 -p 443:443 -d nginx
2. Docker nginx 컨테이너 내부 접속
$ docker exec -it my-nginx bash
3. nginx 컨테이너 OpenSSL 설치
$ apt -y update && apt -y install openssl
4. nginx 컨테이너 SSL 인증서 생성
$ mkdir /etc/nginx/ssl && openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt
5. nginx.conf 설정
- Nginx 설정 파일 찾기: 일반적으로 nginx.conf 파일은 /etc/nginx/nginx.conf에 위치합니다.
$ vi /etc/nginx/nginx.conf
- HTTP 서버 블록 수정 또는 추가: 기존의 HTTP 서버 블록을 찾아서 수정하거나, 새로운 서버 블록을 추가합니다. 예를 들어, 다음과 같이 설정할 수 있습니다:
server {
listen 80;
server_name your_domain.com; # 여기에 도메인을 입력
return 301 https://$server_name$request_uri;
}
HTTPS 서버 블록 추가: SSL을 사용하기 위한 새로운 서버 블록을 nginx.conf 파일에 추가합니다. 예시:
server {
listen 443 ssl;
server_name your_domain.com; # 여기에 도메인을 입력
ssl_certificate /etc/nginx/ssl/nginx.crt; # SSL 인증서 파일 경로
ssl_certificate_key /etc/nginx/ssl/nginx.key; # SSL 키 파일 경로
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 5m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
구성 파일 검증: 설정 변경 후, 구성 파일의 문법 오류가 없는지 확인합니다:
$ nginx -t
- nginx 컨테이너 빠져 나오기
$ exit
- nginx 컨테이너 재실행
$ docker restart my-nginx
728x90
'Infra ------------------------- > DOCKER' 카테고리의 다른 글
[Docker] No CUDA GPUs are available (0) | 2024.02.14 |
---|---|
[Docker] gpu 사용 jupyter 컨테이너 띄우기 (0) | 2023.12.13 |
[docker] Failed to get D-Bus connection 에러 해결 (0) | 2023.10.12 |
[Docker] 주피터 노트북 설치 (0) | 2023.04.26 |
[Docker] docker vs VM (0) | 2023.03.14 |
Comments