Nginx: 두 판 사이의 차이

학교의 모든 지식. SMwiki
둘러보기로 이동 검색으로 이동
편집 요약 없음
28번째 줄: 28번째 줄:


==SSL 인증==
==SSL 인증==
https 주소를 사용하기 위한 인증이다.
이곳에선 비영리 인증기관인 Let's Encrypt의 인증을 certbot을 통해 자동으로 인증받는 과정을 다룰 것이다.
{| class="wikitable"
{| class="wikitable"
!과정
!의도
!설명
!설명
!방법
!방법
|-
|-
|설치
|Certot을 이용한 인증.
|저장소 등록 및 설치.
|https 주소를 사용하기 위한 인증이다.
|
{| class="wikitable"
!OS
!방법
|-
|우분투 20.04
|<syntaxhighlight lang="bash" line="1">
sudo apt-get update
sudo apt-get install software-properties-common
sudo add-apt-repository universe
sudo apt-get update
sudo apt-get install certbot python3-certbot-nginx
</syntaxhighlight>
|}
|-
|Nginx세팅
|<code>/etc/nginx/sites-available</code> 안에 있는 세팅파을을 설정해준다. 이미 서비스를 하고 있었다면 되어있을 터.
(server_name 항목이 채워져 있다면 OK.)
 
혹시 설정을 바꿨다면 우측의 명령어로 재시작해보자.
|sudo nginx -t  # 세팅파일이 정상인지 확인
 
<code>sudo service nginx reload</code>
|-
|인증 획득
| -d 옵션을 통해 도메인을 추가할 수 있다. 우측의 예시를 참고하자.
진행하면 리다이렉션 설정 등을 선택하게 하는데, 잘 읽고 필요에 따라 진행하자.
 
Time zone, email 등을 물어본다. 이메일을 보낸다는 내용도 있으니 잘 읽고 답하자.
|<code>sudo certbot --nginx -d 도메인 -d 도메인2</code>
<code>sudo certbot --nginx -d example.com -d www.example.com</code>
|-
|확인(자동갱신)
|이 인증서는 90일동안 유효한데, certbot에서 자동으로 갱신을 해준다.
우측 명령어에서 에러가 나지 않으면 정상.


보통 <code>/etc/cron.d/</code>에 certbot이 생성된다.
비영리 인증기관인 Let's Encrypt의 인증을 certbot을 통해 자동으로 인증받는 과정.
|<code>sudo certbot renew --dry-run</code>
|[[Certot]] 문서 참조.
|-
|-
|확인(평가)
|openssl을 사용한 인증.
|SSL 적용을 확인해주는 사이트를 통해 확인해본다.
|개인 ssl인증을 하게 도와주는 도구.
|https://www.ssllabs.com/ssltest/
|[[리눅스:openssl(ssl인증서)|openssl]] 문서 참조.
|}
|}<br />


===에러===
=에러=


====nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)====
====nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)====


=== nginx: [emerg] "worker_processes" directive is not allowed here in /etc/nginx/sites-enabled/nginx_conf:1 ===
===nginx: [emerg] "worker_processes" directive is not allowed here in /etc/nginx/sites-enabled/nginx_conf:1===
위 형태의 에러는 경로가 sites-enabled에 있는 것으로 보아... 거의 사용자 설정 문제이다.
위 형태의 에러는 경로가 sites-enabled에 있는 것으로 보아... 거의 사용자 설정 문제이다.
[[분류:리눅스]]
[[분류:리눅스]]

2022년 12월 1일 (목) 17:20 판

개요

아파치와 같은, 유명한 웹서버.

설정파일

파일 설명
/etc/nginx/sites-availables/ 사용 예정인 설정 파일을 이곳에 보관한다.
/etc/nginx/sites-enables/ 사용할 설정파일을 이곳에 보관한다. 이곳에 있는 모든 설정파일을 작동하기 때문에 포트가 겹치는 설정파일이 있으면 에러가 난다.
의도 설명 방법
테스트 엔진엑스 작동에 대한 테스트를 수행한다.

(설정파일 등이 정상인가 파악)

sudo nginx -t

SSL 인증

의도 설명 방법
Certot을 이용한 인증. https 주소를 사용하기 위한 인증이다.

비영리 인증기관인 Let's Encrypt의 인증을 certbot을 통해 자동으로 인증받는 과정.

Certot 문서 참조.
openssl을 사용한 인증. 개인 ssl인증을 하게 도와주는 도구. openssl 문서 참조.


에러

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Unknown error)

nginx: [emerg] "worker_processes" directive is not allowed here in /etc/nginx/sites-enabled/nginx_conf:1

위 형태의 에러는 경로가 sites-enabled에 있는 것으로 보아... 거의 사용자 설정 문제이다.