서버 에 nginx 를 설치 하고 HTTPS (ssl) 지원 설정
서버 환경: ubuntu 16.04
도 메 인 이름: xxxx. com
인증서 서비스: Let 's Encrypt
설치 nginx
설치 하기 전에 포트 80 관련 프로그램 을 중단 하 십시오.
포트 점용 상황 을 보고 모든 pid 를 표시 합 니 다.
sudo lsof -i :80
80 포트 를 차지 하 는 프로 세 스 를 죽 이 고 pid 에 따라
sudo kill -9 xxx
설치 nginx
sudo su
apt-get update
apt-get install nginx
설치 성공 후 nginx 관련 디 렉 터 리 는 다음 과 같 습 니 다.
/usr/sbin/nginx
/etc/nginx
/usr/share/nginx
/var/log/nginx
설치 성공 후 nginx 가 시작 되 었 는 지 확인 합 니 다. nginx 는 80 포트 를 차지 합 니 다.
sudo lsof -i :80
성공 적 으로 시작 한 것 은 다음 과 같 습 니 다. nginx 가 존재 하 는 것 을 보면 성공 을 표시 합 니 다.
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 17737 root 6u IPv4 31827669 0t0 TCP *:http (LISTEN)
nginx 17737 root 7u IPv6 31827670 0t0 TCP *:http (LISTEN)
nginx 32138 www-data 6u IPv4 31827669 0t0 TCP *:http (LISTEN)
nginx 32138 www-data 7u IPv6 31827670 0t0 TCP *:http (LISTEN)
성공 하지 못 하면 80 포트 를 사용 하 는 다른 프로그램 이 있 는 지 확인 하고 kill 을 제거 한 다음 다음 에 다음 문 구 를 실행 하여 nginx 를 시작 합 니 다.
nginx -s reload
상기 문 구 를 실행 하면 다음 과 같은 오 류 를 보고 할 수 있 습 니 다.
open() "/run/nginx/nginx.pid" failed (2: No such file or directory)
오류 원인 은
nginx
지정 한 실행 중인 프로 세 스 id 를 다시 시작 하 는 데 실 패 했 기 때 문 입 니 다. nginx
처음 시작 하 는 데 실 패 했 기 때문에 pid 프로 세 스 와 관련 되 지 않 았 고 다시 시작 하 는 방법 도 없습니다. 이 때 는 다음 명령 으로 nginx 를 시작 시 켜 야 합 니 다. - c 뒤의 디 렉 터 리 는 개인 nginx 설치 디 렉 터 리 에 따라 결 정 됩 니 다.nginx -c /etc/nginx/nginx.conf
ip 주소 로 도 메 인 이름 분석
nginx 설정 폴 더 에 들 어가 기
cd /etc/nginx/conf.d
vi xxx.conf //
구성 내용
메모: 설정 내용 에 / / 주석 을 사용 하지 마 십시오. 한 줄 에 주석 을 달 아야 합 니 다. \ #, 붙 여 넣 을 때 / / 의 내용 을 삭제 하 는 것 을 주의 하 십시오.
server {
listen 80;
server_name xxxx.com; // U
location / {
root /home/ubuntu/data/nodeServer/public; //
index index.html index.htm; //
}
}
설정 이 성공 한 후 실행 종료 명령 을 저장 합 니 다. test is successful 을 보면 설정 이 성공 적 임 을 표시 합 니 다.
도 메 인 이름 접근 을 입력 할 수 있 습 니 다.
nginx -t
https 인증서 설정
홈 페이지 에서 자신의 시스템 과 관련 된 설정 을 선별 한 후 다음 과 같은 설치 명령 을 받 아 순서대로 실행 합 니 다.
$ sudo apt-get update
$ sudo apt-get install software-properties-common
$ sudo add-apt-repository ppa:certbot/certbot
$ sudo apt-get update
$ sudo apt-get install python-certbot-nginx
인증서 가 져 오기 및 설치
다음 명령 을 실행 하여 인증 서 를 가 져 옵 니 다. 이 명령 은 Nginx 프로필 을 변경 하고 다시 시작 합 니 다.
certbot --nginx
이상 잘 되면 방문https://xxxx.com 저 초록색 자물쇠 가 보 여요.
자동 연장
Let 's Encrypt 가 발급 한 인증서 의 유효기간 은 90 일 이 며, 만 료 후 다음 명령 으로 재계약 할 수도 있 고, 스스로 스 크 립 트 를 써 서 자동 으로 재계약 할 수도 있 습 니 다.
certbot renew --dry-run
수 동 으로 생 성
Let's Encrypt
된 인증서 설정 방법 은 다음 과 같 습 니 다.nginx 서비스 정지
nginx -s stop
도 메 인 이름 인증서 생 성
메 일 은 메 일 을 검증 하 는 것 으로 자신의 유효한 메 일이 필요 하 며 힌트 를 성공 적 으로 볼 수 있 습 니 다.인증 서 는 기본적으로
/etc/letsencrypt/live/xxxx.com
경로 에서certbot certonly --standalone --email [email protected] -d xxxx.com
설정 nginx
nginx 설정 폴 더 에 들 어가 xxxx. com 파일 을 추가 하고 파일 경 로 는 개인의 nginx 설치 경로 에 따라
cd /etc/nginx/sites-enabled/
vi xxxx.com
설정 내용, 삭제 / / 및 뒤의 내용 을 기억 하 십시오.
server {
listen 443;
server_name xxxx.com;
ssl on;
root /home/ubuntu/data/nodeServer/public; //
index index.html index.htm; //
ssl_certificate /etc/letsencrypt/live/xxxx.top/fullchain.pem; //
ssl_certificate_key /etc/letsencrypt/live/xxxx.top/privkey.pem; //
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
location / {
index index.html index.htm;
}
}
종료, 테스트 설정 저장
nginx -t
성공 후 nginx 서 비 스 를 다시 시작 하면 됩 니 다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.