사이트 에 ssl 인증서 추가 (https)
4577 단어 ssl
nginx 설치 ssl 모듈
nginx 설치 -- with - httpssl_module nginx 를 설치 할 때 ssl 을 사용 하 는 것 을 고려 하지 않 았 기 때문에 이 모듈 을 설치 하지 않 았 습 니 다.nginx 를 설치 할 때 기본 설치 경 로 를 사용 합 니 다. 즉,
/usr/local/nginx
nginx 실행 가능 한 파일 은 /usr/local/nginx/sbin/
아래 에 있 습 니 다.현재 ssl 모듈 설치:1. nginx 설치 파일 디 렉 터 리 에 파일 생 성, 실행:
/configure --with-http_ssl_module
make
2. nginx 를 교체 하려 면 먼저 nginx 서 비 스 를 닫 습 니 다 (중요 합 니 다) nginx 설치 파일 디 렉 터 리 아래 에 obbs 디 렉 터 리 를 생 성하 고
objs/nginx
를 교체 합 니 다 (둘 다 nginx 의 실행 가능 한 파일 입 니 다).nginx 서 비 스 를 다시 시작 하면 됩 니 다./usr/local/nginx/sbin/nginx
certbot 배포 ssl 인증서
1. certbot 홈 페이지 에 따 르 면https://certbot.eff.org/lets-encrypt/centosrhel7-nginx 알림, yum 소스 설치
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
2. certbot 설치
sudo yum install python2-certbot-nginx
위 에 설치 가 성공 했다 고 해서 certbot 가 사용 할 수 있 는 것 은 아 닙 니 다.명령 실행 중
certbot
알림 권한 만 부족 하면 매개 변수 가 정확 하지 않 아 사용 할 수 있 음 을 표시 합 니 다.의존 이 부족 하면 잘못 보고 하고 잘못된 설치 에 의존 할 수 있 습 니 다.일반적인 경우 python 패키지 버 전이 너무 낮 습 니 다.마 운 트 해제.
3. 인증서 생 성 조건: nginx 에서 도 메 인 이름 을 설정 한 서비스 입 니 다. 예 를 들 어
server {
listen 80;
server_name example.com;
location / {
root /home/to/web/dist/;
index index.html;
}
}
nginx 디 렉 터 리
/usr/local/nginx/sbin/nginx -s reload
인증 서 를 추가 할 도 메 인 이름 /usr/local/nginx
생 성 명령 실행:sudo certbot certonly --standalone --nginx --nginx-server-root=/usr/local/nginx/conf -d api.example.online
구체 적 인 명령 설명 은 certbot 문서 소개 참조.인자 nginx - server - root 에 대해 설명 합 니 다. nginx - server - root 는 nginx 서 비 스 를 지정 하 는 루트 디 렉 터 리 (Nginx server root directory) 입 니 다.certbot 문서 의 사용 예제 에 서 는 이 인 자 를 추가 하지 않 고 기본 경로 (/ etc / nginx) 를 사용 합 니 다.현재 nginx 의 설치 경 로 는
example.com
인 경우 입 니 다.문서 에서 처럼 실행 하면 /usr/local/nginx
오류 가 발생 하여 nginx 를 찾 을 수 없습니다.인터넷 에서 보 이 는 이 오 류 를 해결 하 는 방법 은 nginx 서 비 스 를 소프트 연결 이나 nginx 를 통 해 루트 디 렉 터 리 를 / etc / nginx 아래 에 두 는 것 입 니 다.이런 방법 은 비교적 번 거 로 우 므 로 직접 파라미터 nginx - server - root 를 추가 하여 지정 하면 된다.위 명령 에 standalone 을 추가 하지 않 고 세 가지 모드 중 하 나 를 선택 하 라 고 알려 줍 니 다.도 메 인 이름 을 추가 하지 않 으 면 nginx 에서 설정 한 도 메 인 이름 을 검사 하고 어떤 도 메 인 이름 으로 ssl 을 생 성 할 지 선택 합 니 다.잠깐 만.
4. 상기 명령 에서 생 성 된 인증서 의 저장 주 소 를 지정 하지 않 았 기 때 문 입 니 다.묵인
/etc/letsencrypt/live/
디 렉 터 리 아래 에 도 메 인 이름 으로 명령 하 는 항목 이 있 습 니 다. 예 를 들 어 이 디 렉 터 리 아래 에 다음 과 같은 파일 이 있 습 니 다.
cert.pem chain.pem fullchain.pem privkey.pem README
5. nginx 는 해당 도 메 인 이름 의 server 에 다음 과 같은 설정 을 추가 합 니 다.
ssl_certificate XXX/fullchain.pem; # fullchain.pem
ssl_certificate_key XXX/privkey.pem; # privkey.pem
로 바꾸다.
listen 443 ssl;
위의 예제 설정 server 는 다음 과 같이 변경 할 수 있 습 니 다.
server {
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
server_name example.com;
location / {
root /home/to/web/dist/;
index index.html;
}
}
nginx 설정 을 다시 불 러 옵 니 다.
/usr/local/nginx/sbin/nginx -s reload
방문 가능
sudo certbot certonly -nginx
6. http 에서 https 로 이동 example.com
자동 으로 이동 listen 80;
하려 면 nginx 에 server 설정 을 추가 해 야 합 니 다. 도 메 인 이름 과 같 습 니 다.server {
listen 80;
server_name example.com;
rewrite ^(.*)$ https://$host$1 permanent;
}
물론 이런 점프 방법 은 이 뿐만 아니 라 인터넷 에서 다른 설정 방법 도 볼 수 있다.
7. 인증 서 는 인증서 의 유효기간 이 90 일 밖 에 되 지 않 기 때문에 매주 한 번 검사 하도록 설정 합 니 다 (유효기간 이 30 일 이하 여야 업데이트)
0 22 * * 6 certbot renew --dry-run && /usr/local/nginx/sbin/nginx -s reload
인증서 가 만 료 될 때 자동 으로 업 데 이 트 됩 니 다.
후기: 인터넷 에 소 개 된 무료 ssl 증 서 는 이미 많은 비용 을 받 았 습 니 다.
오류 기록: 1 - 실행:
https://example.com
오류: 너무 많은 플래그 설정 configurator / installers / authenticators' nginx '- >' webroot '해결:sudo certbot certonly --nginx --nginx-server-root=/usr/local/nginx/conf
그리고 알림 에 따라 도 메 인 이름 을 선택 하여 인증 서 를 생 성 합 니 다.참고 글:https://certbot.eff.org/docs/using.html#certbot-commands
https://blog.csdn.net/u014801157/article/details/80106494
https://www.jianshu.com/p/fb3733cd0d3b
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Nginx를 사용하여 도메인을 포트 번호로 리디렉션하고 SSL을 설정하는 방법은 무엇인가요?nano 또는 vim에서 이 파일 열기/etc/nginx/nginx.conf nginx.conf를 업데이트한 후 이 명령을 적용합니다. nginx.conf 테스트sudo nginx -tnginx 서비스 다시 시작su...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.