nginx에서 SSL 인증서 만료를 방지하는 방법
nginx는 SSL 인증서 만료를 어떻게 방지하나요?
nginx는 무료 SSL 인증서 및 정기 인증서 업데이트를 구성합니다
환경 contos 6, 인증서 발급 Let's Encrypt
인증서 생성을 위한 전제 조건은 도메인 이름이 사용 가능해야 한다는 것입니다. 즉, 도메인 이름이 등록되어 확인되었습니다. DNS를 통해 특정 IP에
1. epel을 설치하고,
>yum install epel-release
2. certbot-auto
>wget https://dl.eff.org/certbot-auto --no-check-certificate
3. 도구 종속성을 설치합니다.
단일 도메인 이름:
>chmod +x certbot-auto >./certbot-auto -n
참고: 이메일, 웹사이트 디렉터리 및 도메인 이름 바꾸기
여러 도메인 이름:
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn
인증서는 /etc/letsencrypt/live/www.xue37.cn/ 디렉터리에 생성됩니다(실행 후 프롬프트 메시지가 표시됩니다).
5. 인증서 확장(인증서는 90일 동안 유효하므로)
certbot-auto 도구는 인증서 확장 작업을 지원하므로 crontab 예약 작업을 사용하여 3시에 자동으로 인증서를 확장할 수 있습니다. 매일 시계
>./certbot-auto certonly --email my@163.com --agree-tos --no-eff-email --webroot -w /usr/local/nginx/html/xue/ -d www.xue37.cn -d xue37.cn
crontab 표현은 Baidu가 될 수 있습니다
참고:
먼저 별도로 실행할 수 있습니다:
>0 3 * * * /root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
여기에 메시지가 표시됩니다. 다음 인증서는 아직 갱신 기한이 아니므로 인증서가 갱신되지 않았음을 의미합니다. 만료되었으며 다른 오류는 없습니다. 따라서 인증서가 너무 오랫동안 만료되는 것을 방지하려면 매일 확장 작업을 수행하도록 설정할 수 있습니다
6. nginx
/root/certbot-auto renew --disable-hook-validation --renew-hook "/usr/local/nginx/sbin/nginx -s reload"
7에 인증서 구성을 추가합니다. 80 포트 301을 443으로 설정
nginx 구성을 수정합니다.
server { listen 443 ssl; server_name www.xue37.cn; ##这里是你的域名 ssl_certificate /etc/letsencrypt/live/www.xue37.cn/fullchain.pem; #前面生成的证书,改一下里面的域名就行 ssl_certificate_key /etc/letsencrypt/live/www.xue37.cn/privkey.pem; #前面生成的密钥,改一下里面的域名就行 ssl_ciphers ECDHE-RSA-AES256-SHA384:AES256-SHA256:RC4:HIGH:!MD5:!aNULL:!eNULL:!NULL:!DH:!EDH:!AESGCM; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:10m; access_log /data/application/logs/xue.access.log main; location ^~ /bot { proxy_pass http://xue-server; include proxy-params.conf; } location / { root html/xue; index index.html index.htm; } location = /50x.html { root html; } }
참고: nginx 수정 후 다시 시작해야 함: /usr/local/nginx/sbin/nginx -s reload
참고: nginx 구성을 처리해야 함
server { listen 80; server_name localhost; location /.well-known/ { add_header Content-Type 'text/plain;'; root /usr/local/nginx/html/xue; } location / { return 301 https://www.xue37.cn$request_uri; } }
이 구성을 삭제하거나 주석 처리하거나 앞에 추가 이 구성(이 구성이 없으면 무시하세요)
location ~ /\. { deny all; }
더 많은 Nginx 관련 기술 기사를 보려면
Nginx 사용법 튜토리얼위 내용은 nginx에서 SSL 인증서 만료를 방지하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

1. PHP 개발 질문 및 답변 커뮤니티에서 Laravel MySQL VUE/React 조합의 첫 번째 선택은 생태계의 성숙과 높은 개발 효율로 인해 Laravel MySQL VUE/React 조합의 첫 번째 선택입니다. 2. 고성능은 캐시 (REDIS), 데이터베이스 최적화, CDN 및 비동기 큐에 의존해야합니다. 3. 입력 필터링, CSRF 보호, HTTPS, 비밀번호 암호화 및 권한 제어로 보안을 수행해야합니다. 4. 돈 선택적 광고, 회원 가입, 보상, 커미션, 지식 지불 및 기타 모델은 핵심은 커뮤니티 톤 및 사용자 요구에 맞는 것입니다.

Nginx가 "ToomyopenFiles"오류를 경험하면 일반적으로 시스템 또는 프로세스가 파일 디스크립터 제한에 도달했기 때문입니다. 솔루션은 다음과 같습니다. 1. Linux 시스템의 소프트 및 하드 제한을 늘리거나 nginx의 관련 매개 변수를 설정하거나 /etc/security/limits.conf에서 실행 사용자를 설정합니다. 2. 예상 트래픽에 적응하도록 nginx의 worker_connection 값을 조정하고 과부하 된 구성을 확인하십시오. 3. 시스템 수준 파일 설명자의 상한을 늘리십시오. fs.file-max, /etc/sysctl.conf edit 및 변경 사항을 적용하십시오. 4. 로그 및 리소스 사용량을 최적화하고 Open_L 사용과 같은 불필요한 파일 핸들 사용을 줄입니다.

MAC 환경 구조에서 홈 브루의 핵심 역할은 소프트웨어 설치 및 관리를 단순화하는 것입니다. 1. 홈브리는 종속성을 자동으로 처리하고 복잡한 편집 및 설치 프로세스를 간단한 명령으로 캡슐화합니다. 2. 소프트웨어 설치 위치 및 구성의 표준화를 보장하기 위해 통합 소프트웨어 패키지 생태계를 제공합니다. 3. 서비스 관리 기능을 통합하고 양조 서비스를 통해 서비스를 쉽게 시작하고 중지 할 수 있습니다. 4. 편리한 소프트웨어 업그레이드 및 유지 관리 및 시스템 보안 및 기능을 향상시킵니다.

Nginx의 HTTP/2 또는 HTTP/3 지원을 가능하게하려면 전제 조건을 충족하고 올바르게 구성해야합니다. HTTP/2는 Nginx1.9.5, OpenSSL1.0.2 및 HTTPS 환경을 필요로합니다. add-with-http_v2_module 모듈 구성 중에 청취 문을 수정하여 443SSLHTTP2; 서비스에 과부하; HTTP/3은 quic을 기반으로하며, 컴파일 중에 BoringsSL 또는 OpenSSLquic 브랜치를 도입하고 UDP 청취 포트를 구성하려면 Nginx-Quic과 같은 타사 모듈이 필요합니다. 배포 중 일반적인 문제는 ALPN이 활성화되지 않음, 인증서 호환성, 방화벽 제한 및 컴파일 오류가 포함됩니다. 우선 순위를 사용하는 것이 좋습니다.

PHP 환경과 생산 사이의 불일치 문제를 해결하기 위해 핵심은 Kubernetes의 컨테이너화 및 오케스트레이션 기능을 사용하여 환경 일관성을 달성하는 것입니다. 특정 단계는 다음과 같습니다. 1. 모든 PHP 버전, 확장, 종속성 및 웹 서버 구성을 포함하여 통합 된 Docker 이미지를 구축하여 동일한 이미지가 개발 및 생산에 사용되도록합니다. 2. Kubernetes의 구성 및 비밀을 사용하여 비 민감하고 민감한 구성을 관리하고 볼륨 마운트 또는 환경 가변 주입을 통해 다양한 환경 구성의 유연한 스위칭을 달성합니다. 3. Unified Kubernetes 배포 정의 파일 (배포 및 서비스 등)을 통한 응용 프로그램 동작 일관성을 보장하고 버전 제어에 포함시킵니다. 4.

1. PHP 전자 상거래 백엔드의 주류 프레임 워크에는 Laravel (빠른 개발, 강력한 생태학), Symfony (엔터프라이즈 수준, 안정적인 구조), YII (우수한 성능, 표준화 된 모듈에 적합); 2. 기술 스택에는 MySQL Redis 캐시, Rabbitmq/Kafka 메시지 대기열, Nginx PHP-FPM 및 프론트 엔드 분리가 장착되어 있어야합니다. 3. 높은 동시성 아키텍처는 계층화되고 모듈화되어야하며 데이터베이스는 분리/분산 데이터베이스를 읽고 쓰고, 캐시 및 CDN으로 가속화되고, 작업의 비동기 처리,로드 밸런싱 및 세션 공유, 점차 마이크로 서비스 및 모니터링 및 경보 시스템을 설정해야합니다. 4. 다중 수익 창출 경로에는 제품 가격 차이 또는 플랫폼 커미션, 사이트 광고, SAAS 구독, 맞춤형 개발 및 플러그인 시장, API 연결이 포함됩니다.

Nginx 구성에서 위치 블록 내의 @ 기호는 이름이 지정된 위치를 정의하는 데 사용됩니다. 이들은 내부적으로 사용되는 엔드 포인트이며 클라이언트 요청과 직접 일치 할 수 없습니다. 일반적으로 error_page, try_files 또는 다시 쓰기 지시문을 통해 호출됩니다. 1. 이름 지정 위치는 @로 시작합니다. 예를 들어, 위치@notfound는 직접 요청에 응답하지 않지만 다른 구성 부분에서 트리거됩니다. 2. 이것은 종종 사용자 정의 오류 처리, 내부 라우팅 및 백엔드 에이전트 백업에 사용됩니다. 3. 예를 들어, try_files와 결합하여 정적 파일이 존재하지 않을 때 @backend로 전달합니다. 4. 참고 사항에는 다음이 포함됩니다. 직접 액세스하지 않음, 명명 충돌을 피하고 설명 이름을 사용합니다. 이름이 지정된 위치에는 포함될 수 있습니다

Nginx 구성을 수정 한 후 먼저 구문을 테스트 한 다음 서비스를 다시로드해야합니다. 1. nginx-t를 사용하여 구성 파일 구문을 확인하십시오. "SyntaxIsok"및 "TestisSuccessful"프롬프트가 프롬프트되면 정확하다는 것을 의미합니다. 오류가 있으면 특정 문제 라인이 표시됩니다. 2. 구성 파일 권한이 높으면 sudonginx-t를 사용하여 실행해야합니다. 3. 테스트가 실제로로드되었는지 확인하십시오. nginx-t-c/path/to/your/nginx.conf를 통해 경로를 지정하거나 ps-ef | grepnginx를 통해 기본 프로세스에서 사용한 구성 파일을 볼 수 있습니다. 4. 테스트가 통과 된 후 SudongInx-Sreload Overload 서비스를 실행하여 새 구성을 발효시킵니다.
