nginx ssl 설정 https 인증서 와 키 프로 세 스 열기

3954 단어 zabbixHTTPSserver
처음에 시스템 을 배치 할 때 스 캔 구멍 도구 로 시스템 을 스 캔 한 결과 사이트 방문 이 안전 하지 않 고 https 안전 인증 을 사용 하여 웹 에 접근 하 라 고 요 구 했 으 며 nginx 는 https 기술 을 지원 하기 때문에 공교롭게도 nginx 에 https 를 설정 했다.많은 튜 토리 얼 구 덩이 를 밟 은 후에 마침내 설정 에 성공 한 다음 에 기록 하면 다음 튜 토리 얼 에 따라 https 가 필요 로 하 는 사이트 인증서 인증 을 설정 할 수 있 습 니 다.이 튜 토리 얼 은 Centos 7 에 설정 되 어 있 으 며, 다른 버 전의 Liux 는 해당 하 는 명령 을 바 꾸 면 됩 니 다.참고 로 제공 하 다
브 라 우 저 방문 설정 이 완료 되면 사이트 앞 에 빨간색 포크 가 나타 납 니 다. 이 는 웹 서버 에서 해당 하 는 인증서 업 체 를 찾 지 못 해 사용 에 방해 가 되 지 않 기 때 문 입 니 다.
Nginx SSL 설정 인증서 와 비밀 키 를 열 려 면 openssl 을 설치 해 야 합 니 다.
여 기 는 nginx 1.16.1 을 예 로 들 면
설치 패키지 가 져 오기
[root@~]curl -O http://nginx.org/download/nginx-1.16.1.tar.gz혹은 wgethttp://nginx.org/download/nginx-1.16.1.tar.gz
스트레스 를 풀다
[root@~] tar -zxvf nginx-1.16.1.tar.gz
컴 파일 모듈
[root@~] cd nginx-1.16.1./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-https_ssl_module
nginx 가 설치 되 어 있 으 면 make install 을 하지 않 습 니 다. 그렇지 않 으 면 설치 와 설정 을 덮어 씁 니 다.
[root@ nginx-1.16.1]make
원래 시작 파일 백업
[root@~]cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
모듈 불 러 올 지 확인
[root@~]/usr/local/nginx/sbin/nginx -Vnginx version: nginx/1.16.1built by gcc 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC)built with OpenSSL 1.0.2k-fips 26 Jan 2017TLS SNI support enabledconfigure arguments: --prefix=/usr/local/nginx --with-http_ssl_module \ # 모듈 이 불 러 왔 습 니 다
ssl 모듈 을 불 러 오 면 ngix. conf 에 설정 파일 HTTPS SERVER 뒤의 ssl 정 보 를 추가 합 니 다.
메모: 일반적으로 생 성 된 디 렉 터 리 는 nginx / conf / ssl 디 렉 터 리 에 두 어야 합 니 다. 사용자 정의 할 수 있 습 니 다.
인증서 와 키 생 성 - des 3: CBC 모드 의 DES 암호 화 다음 예제 에서 1024 비트 의 RSA 비밀 키 를 생 성 합 니 다.
[root@~]openssl genrsa -des3 -out server.key 1024
비밀번호 입력, 2 회
kpy@hwGenerating RSA private key, 1024 bit long modulus....++++++.......................++++++e is 65537 (0x10001)Enter pass phrase for server.key:Verifying - Enter pass phrase for server.key:
서버 인증서 생 성 신청 파일 server. csr
[root@~]openssl req - new - key server. key - out server. csrEnter pass phrase for server. key: \ # 위의 암 호 를 입력 하 십시오 You are about to be asked to enter information that will be incorporated dinto your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value,If you enter '.', the field will be left blank.
아래 의 정 보 를 기입 하 시 오
국가 이름 (2 글자 코드) [XX]: CN \ # 국가 약어 State or Province Name (full name) []: Guangdong \ # 성 지역 이름 (eg, city) [기본 도시]: GuangZhou \ # 시 조직 이름 (eg, company) [기본 회사 Ltd]: lw666. cn \ # 공사 명 조직 단위 이름 (eg, section) []: \ # 조직 명, 공통 이름 을 쓰 지 않 아 도 됩 니 다.(eg, your name or your server 's hostname) []: \ # 공공 이름, 이메일 주소 [] 를 입력 하지 않 아 도 됩 니 다[email protected]\ # 이메일 주소, 입력 하지 않 아 도 됩 니 다 Please enter the following 'extra' attributesto be sent with your certificate requestA challenge password []: \ # 강 화 된 비밀 번 호 는 An optional copany name []: \ # 입력 하지 않 아 도 됩 니 다.
백업 파일, 인증서 인증 암 호 를 건 너 뛰 고 server. crt 파일 생 성
[root @ ~] cp server. key server. key. org [root @ ~] openssl rsa - in server. key. org - out server. key Enter pass phrase for server. key. org: \ # 위의 암 호 를 입력 하여 RSA key 를 작성 하 십시오.
인증서 생 성, 인증서 유효 일수 (9999 를 입력 하면 영구) 서명, 양 방향 인증 오픈
[root@~]openssl x509 -req -days 180 -in server.csr -signkey server.key -out server.crtSignature okbr/>subject=/C=CN/ST=GuangDong/L=GuangZhou/O=lwops.cn/[email protected] Private key
vi nginx. conf, HTTPS SERVER, 단일 server 를 설명 하고 listen 을 마지막 줄 ssl 로 원래 listen 80 을 교체 한 다음 설정 파일 을 테스트 합 니 다.
공식 프로필 참조:
http://nginx.org/en/docs/http/configuring_https_servers.html#single_http_https_server
하나의 server 는 80 과 433 이 공존 할 수 있 지만 80 은 http 입 니 다.
#  HTTPS server
#
 server {
   listen       443 ssl;
   server_name  localhost;
 # ssl        on; nginx1.15       ,      
 #          

좋은 웹페이지 즐겨찾기