[Linux 환경] Nngix (또는 Tengine) 서버에 SSL 인증서 설치 방법 ---- nginx 서버 유형 인증서 다운로드 및 설치 작업 소개

이 기사의 내용

1. 인증서 다운로드

2. Nginx (또는 Tengine) 서버에 인증서 설치

1. 전제 조건

2. 배경 정보

3. Nginx 유형 서버에 인증서 설치

1 단계 : 원격 로그인 도구 (예 : PuTTY, Xshell)를 사용하여 서버에 로그인합니다.

2 단계 : 다음 명령을 실행하여 Nginx 설치 디렉터리 (/ usr / local / nginx / conf)에 인증서를 저장할 디렉터리 (cert라는 이름)를 만듭니다.

3 단계 : 로컬 인증서 파일과 키 파일을 Nginx 서버의 인증서 디렉토리 (예 : / usr / local / nginx / conf / cert)에 업로드합니다. 아래 그림과 같이:

4 단계 : Nginx 구성 파일 (nginx.conf)을 편집하여 인증서와 관련된 구성 콘텐츠를 수정합니다.

5 단계 : 성공적으로 설치되었는지 확인


SSL 인증서 서비스는 인증서 다운로드 및 웹 서버에 설치를 지원합니다. 인증서가 설치된 후 인증서에 바인딩 된 웹 사이트는 SSL 프로토콜을 사용하여 통신하므로 웹 사이트의 데이터 전송 보안을 보장합니다. 이 문서는 nginx 서버 유형 인증서의 다운로드 및 설치 작업을 소개합니다.

1. 인증서 다운로드

1. Alibaba Cloud SSL 인증서 콘솔에 로그인합니다.

2. SSL 인증서 페이지에서 다운로드 할 인증서를 찾고 인증서 카드의 오른쪽 아래 모서리에있는 다운로드를 클릭합니다. 아래 그림과 같이

3. 인증서를 설치해야하는 서버 유형을 찾고 오른쪽 작업 표시 줄에서 다운로드를 클릭하여 인증서 압축 패키지를 로컬로 다운로드합니다. 아래 그림과 같이:

참고 : 2020 년 말부터 Alibaba Cloud SSL 인증서는 Tomcat, Apache, Nginx, IIS, GlassFish, JBoss 및 Jetty 서버 유형과 같은 웹 서버 유형의 설치를 지원합니다. .

2. Nginx (또는 Tengine) 서버에 인증서 설치

1. 전제 조건

  • SSL 인증서 서비스를 통해 인증서 발급이 완료되었습니다.
  • 원격 로그인 도구 (예 : PuTTY, Xshell)가 웹 서버에 로그인 할 준비가되었습니다.

2. 배경 정보

이 기사에서는 CentOS 7 운영 체제와 Nginx 1.16.2 서버 시스템을 예로 들어 설명합니다. 서버 시스템 버전이 다르기 때문에 작업 중에 사용하는 명령이 약간 다를 수 있습니다.

이 문서에서 인증서 파일의 이름이 나타나는 경우 cert-file-name이 설명의 예로 사용됩니다. 예를 들어이 문서에 사용 된 인증서 파일은 cert-file-name.pem이고 인증서 키 파일은 cert-file-name.key입니다.

3. Nginx 유형 서버에 인증서 설치

간단히 말해서 Nginx 서버는 nginx 서비스를 통해 프로젝트에 액세스하는 클라이언트입니다. nginx 서비스는 먼저 차단하고 필터링합니다. 다음 기본값은 Nginx 설치 디렉토리가 / usr / local / nginx /이며 실제 설치 디렉토리에 따라 수정할 수 있습니다.

1 단계 : 원격 로그인 도구 (예 : PuTTY, Xshell)를 사용하여 서버에 로그인합니다.

2 단계 : 다음 명령을 실행하여 Nginx 설치 디렉터리 (/ usr / local / nginx / conf)에 인증서를 저장할 디렉터리 (cert라는 이름)를 만듭니다.

cd / usr / local / nginx / conf #Nginx의 기본 설치 디렉토리를 입력합니다. 기본 설치 디렉토리를 수정 한 경우 실제 구성에 따라 조정하십시오.
mkdir cert # 인증서 디렉토리를 만들고 이름을 cert로 지정합니다.

3 단계 : 로컬 인증서 파일과 키 파일을 Nginx 서버의 인증서 디렉토리 (예 : / usr / local / nginx / conf / cert)에 업로드합니다. 아래 그림과 같이:

4 단계 : Nginx 구성 파일 (nginx.conf)을 편집하여 인증서와 관련된 구성 콘텐츠를 수정합니다.

  1. 다음 명령을 실행하여 구성 파일을 엽니 다. 예제 명령을 사용하기 전에 참고 : nginx.conf는 기본적으로 / usr / local / nginx / conf 디렉토리에 저장됩니다. nginx.conf의 위치를 ​​수정 한 경우 수정 된 위치로 /usr/local/nginx/conf/nginx.conf바꾸십시오.
    vim /usr/local/nginx/conf/nginx.conf
  2. i 키를 눌러 편집 모드로 들어갑니다.
  3. 구성 파일에서 HTTP 프로토콜 코드 조각 ( http{}) 을 찾고 HTTP 프로토콜 코드 에 다음 서버 구성을 추가합니다 (서버 구성이 이미있는 경우 다음 설명에 따라 해당 구성을 수정할 수 있음). 샘플 코드를 사용하기 전에 다음을 교체해야합니다.
    • yourdomain.com: 인증서에 바인딩 된 도메인 이름으로 바꿉니다.

      단일 도메인 이름 인증서를 구입 한 경우이를 단일 도메인 이름으로 수정해야합니다 (예 www.aliyun.com:). 와일드 카드 도메인 이름 인증서를 구입 한 경우이를 와일드 카드 도메인 이름 (예 :)으로 수정해야합니다 *.aliyun.com.

    • cert-file-name.pem: 3 단계에서 업로드 한 인증서 파일의 이름으로 바꿉니다.
    • cert-file-name.key: 3 단계에서 업로드 한 인증서 키 파일의 이름으로 바꿉니다.
    • #以下属性中,以ssl开头的属性表示与证书配置有关。
      server {
          listen 443 ssl;
          #配置HTTPS的默认访问端口为443。
          #如果未在此处配置HTTPS的默认访问端口,可能会造成Nginx无法启动。
          #如果您使用Nginx 1.15.0及以上版本,请使用listen 443 ssl代替listen 443和ssl on。
          server_name yourdomain.com; #需要将yourdomain.com替换成证书绑定的域名。
          root html;
          index index.html index.htm;
          ssl_certificate cert/cert-file-name.pem;  #需要将cert-file-name.pem替换成已上传的证书文件的名称。
          ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书密钥文件的名称。
          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; #表示使用的TLS协议的类型。
          ssl_prefer_server_ciphers on;
          location / {
              root html;  #站点目录。
              index index.html index.htm;
          }
      }
    • 선택 사항 : HTTPS로 자동 리디렉션되도록 HTTP 요청을 설정합니다.

      모든 HTTP 방문이 HTTPS 페이지로 자동 리디렉션되도록하려면 리디렉션해야하는 HTTP 사이트 아래에 다음 rewrite문을 추가 할 수 있습니다 .

      샘플 코드를 사용하기 전에 yourdomain.com인증서에 바인딩 된 도메인 이름 으로 교체해야합니다.

    • 수정이 완료되면 Esc 키를 누르고 wq! 그리고 Enter를 눌러 수정 된 구성 파일을 저장하고 편집 모드를 종료합니다.
  4. 다음 명령을 실행하여 Nginx 서비스를 다시 시작합니다.
    cd /usr/local/nginx/sbin  #进入Nginx服务的可执行目录。
    ./nginx -s reload  #重新载入配置文件。
    Nginx 서비스를 다시 시작할 때 오류가 발생하면 다음 방법을 사용하여 문제를 해결할 수 있습니다.
    • the "ssl" parameter requires ngx_http_ssl_module오류 수신 : .NET을 컴파일하고 설치할 때 Nginx를 다시 컴파일하고 --with-http_ssl_module구성을 추가해야합니다 .
    • "/cert/3970497_pic.certificatestests.com.pem":BIO_new_file() failed (SSL: error:02001002:system library:fopen:No such file or directory:fopen('/cert/3970497_pic.certificatestests.com.pem','r') error:2006D080:BIO routines:BIO_new_file:no such file)오류 수신 : 인증서의 상대 경로 중 첫 번째를 제거해야합니다 /. 예를 들어 /cert/cert-file-name.pem첫 번째 항목 을 제거 /하고 올바른 상대 경로를 사용해야합니다 cert/cert-file-name.pem.
  5. 인증서가 성공적으로 설치되었는지 확인하려면 5 단계를 참조하십시오.

5 단계 : 성공적으로 설치되었는지 확인

인증서가 설치된 후 인증서의 바인딩 된 도메인 이름에 액세스하여 인증서가 성공적으로 설치되었는지 확인할 수 있습니다.

https://yourdomain.com   #需要将yourdomain.com替换成证书绑定的域名。

웹 페이지의 주소 표시 줄에 작은 자물쇠 아이콘이 나타나면 인증서가 성공적으로 설치된 것입니다.

성공적으로 설치 한 후에는 인증서 유형에 따라 다음과 같은 효과가 다릅니다.

  • DV SSL 및 OV SSL 디지털 인증서가 서버에 배포 된 후 브라우저가 웹 사이트를 방문 할 때 다음 효과가 표시됩니다.
  • DV / OV 인증서 설치 렌더링
  • EV SSL 디지털 인증서가 서버에 배포 된 후 브라우저가 웹 사이트를 방문하면 다음과 같은 효과가 표시됩니다.
  • EV 인증서 설치 렌더링

 

참조 : 알리 공식 도움말 문서 : https://help.aliyun.com/document_detail/98728.html

 

종료!

추천

출처blog.csdn.net/weixin_44299027/article/details/111874636