nginx 설정 https 사이트

전제:
    1. 호스트 는 먼저 openssl 을 설치 해 야 합 니 다.
    2. nginx 를 컴 파일 할 때 -- with - openssl 과 -- with - Huttp 를 추가 해 야 합 니 다.ssl_module
1. 자체 서명 인증서 생 성
[root@101 /]# openssl req -new -x509 -keyout /root/ca.key -out /root/ca.crt
Generating a 2048 bit RSA private key
.............+++
...................................+++
writing new private key to '/root/ca.key'
Enter PEM pass phrase:        #        
Verifying - Enter PEM pass phrase:    #        
-----
You are about to be asked to enter information that will be incorporated
into 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.
-----
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:guangzhou
Locality Name (eg, city) [Default City]:guangzhou
Organization Name (eg, company) [Default Company Ltd]:lzs
Organizational Unit Name (eg, section) []:it
Common Name (eg, your name or your server's hostname) []:101.lzs.com
Email Address []:[email protected]

2. 설정 파일 openssl. cnf 수정
vim /etc/pki/tls/openssl.cnf
[ ca ]
default_ca      = CA_default            # The default ca section

####################################################################
[ CA_default ]

dir             = /etc/pki/CA           #      ,       
certs           = $dir/certs            
crl_dir         = $dir/crl              
database        = $dir/index.txt       
#unique_subject = no                   
                                        
new_certs_dir   = $dir/newcerts        

certificate     = $dir/ca.crt       #     ,          
serial          = $dir/serial          
crlnumber       = $dir/crlnumber        
                                        
crl             = $dir/crl.pem         
private_key     = $dir/private/cakey.pem
RANDFILE        = $dir/private/.rand

3. 인증서 루트 디 렉 터 리 / etc / pki / CA 에 인증 서 를 복사 하고 이 디 렉 터 리 에 빈 파일 index. txt 와 serial 을 만 들 고 serial 에 '01' 을 입력 합 니 다.
cd /etc/pki/CA
cp /root/ca.crt .
touch index.txt
touch serial
echo "01" >serial

4. 서버 RSA 비밀 키 / root / server. key 생 성
openssl genrsa -des3 -out /root/server.key 1024

5. 비밀 키 를 위 한 암호 제거
openssl rsa -in /root/server.key -out /root/server_nopwd.key

5. 인증서 요청 파일 / root / server. csr 생 성
[root@101 /]# openssl req -new -key /root/server.key -out /root/server.csr
Enter pass phrase for /root/server.key:    #   4           
You are about to be asked to enter information that will be incorporated
into 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.
--------                   ------------------------
Country Name (2 letter code) [XX]:CN
State or Province Name (full name) []:guangzhou
Locality Name (eg, city) [Default City]:guangzhou
Organization Name (eg, company) [Default Company Ltd]:lzs
Organizational Unit Name (eg, section) []:it
Common Name (eg, your name or your server's hostname) []:101.lzs.com
----------------------------------------------------------------
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:www.lzs.com
An optional company name []:lzs

6. 개인 인증서 로 인증서 요청 파일 / root / server. csr 서명
[root@101 CA]# openssl ca -in /root/server.csr -out /root/server.crt -cert /root/ca.crt -keyfile /root/ca.key -config /etc/pki/tls/openssl.cnf
Using configuration from /etc/pki/tls/openssl.cnf
Enter pass phrase for ca.key:
Check that the request matches the signature
Signature ok
Certificate Details:
        Serial Number: 1 (0x1)
        Validity
            Not Before: Aug 31 14:09:15 2016 GMT
            Not After : Aug 31 14:09:15 2017 GMT
        Subject:
            countryName               = CN
            stateOrProvinceName       = guangzhou
            organizationName          = lzs
            organizationalUnitName    = it
            commonName                = 101.lzs.com
            emailAddress              = [email protected]
        X509v3 extensions:
            X509v3 Basic Constraints: 
                CA:FALSE
            Netscape Comment: 
                OpenSSL Generated Certificate
            X509v3 Subject Key Identifier: 
                18:80:30:B7:C6:11:61:AE:F3:62:9D:D0:33:D9:97:CB:45:5A:31:91
            X509v3 Authority Key Identifier: 
                keyid:DA:99:4B:9B:29:A8:D8:14:54:FA:52:4B:1E:C3:E0:81:C6:A6:EF:42

Certificate is to be certified until Aug 31 14:09:15 2017 GMT (365 days)
Sign the certificate? [y/n]:yes


1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

7. nginx 프로필 / etc / nginx / nginx. conf 편집
-------            /      
server {
        listen       443 ssl;        #       
        server_name  lzs;
        ssl     on;
        ssl_certificate /root/server.crt;
        ssl_certificate_key     /root/server_nopwd.key;

8. 서비스 재 개
~ ~ ~ 완료, 클 라 이언 트 에 입력https://x.x.x.x접근 가능

좋은 웹페이지 즐겨찾기