nginx 검증 -- 자체 서명 https Basic Auth

목차
1. 자가 서명 인증서 생 성
1.1: 우 리 는 서버 와 클 라 이언 트 를 위해 비밀 키 와 공개 키 를 준비 해 야 합 니 다.
1.2: CA 인증서 생 성
1.3: 서버 인증서 생 성
1.4: cer 파일 생 성
2. nginx 설정
3. Basic Auth 로그 인 인증 실현 방법 설정
1. httpd - tools 설치
2. 권한 부여 사용자 와 비밀번호 만 들 기
3. Nginx 설정
1. 자가 서명 인증서 생 성
1.1: 우 리 는 서버 와 클 라 이언 트 를 위해 비밀 키 와 공개 키 를 준비 해 야 합 니 다.
//        
openssl genrsa -out server.key 1024
//        
openssl rsa -in server.key -pubout -out server.pem

1.2: CA 인증서 생 성
//    CA   
openssl genrsa -out ca.key 1024

openssl req -new -key ca.key -out ca.csr

메모: 위 명령 을 실행 하면 다음 과 같은 항목 이 나타 납 니 다. 바로 차 로 돌아 가 건 너 뛸 수 있 습 니 다. 하지만 Common Name 은 도 메 인 이름 을 입력 하 는 것 을 권장 합 니 다. 로 컬 이 라면 localhost 를 쓸 수 있 습 니 다.
Country Name (2 letter code) [AU]:
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:       
Email Address []:

CA 인증서 생 성
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt

1.3: 서버 인증서 생 성
//        CA         ,                  CSR   
openssl req -new -key server.key -out server.csr
//     CA       ,       CA         ,         CA      
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

1.4: cer 파일 생 성
//  openssl     
openssl x509 -in server.crt -out server.cer -outform der

2. nginx 설정
mkdir ssl
server. crt 와 server. key 를 nginx 설정 파일 이 있 는 디 렉 터 리 ssl 로 복사 한 다음 nginx 설정 에 다음 설정 을 추가 합 니 다.
upstream backend_addr {
    server 192.168.50.36:8989;
    keepalive 32; 
}
                                                                                                                                        
server {
    listen 80; 
    server_name j.kkk.com;
    #rewrite ^(.*) https://$server_name$1 permanent; 
    return 301 https://$server_name$request_uri; 
}
server {
    listen 443 ssl http2;
    #listen 80;
    server_name j.kkk.com;
    charset utf-8;
    ssl on; 
    ssl_certificate      ssl/server.crt;
    ssl_certificate_key  ssl/server.key;
    location / { 
        proxy_pass http://backend_addr;
        proxy_redirect off;
        proxy_set_header     Host  $host;
        proxy_set_header      ROMOTE_ADDR  $remote_addr;
        proxy_set_header     X-Forwarded-For  $proxy_add_x_forwarded_for;
        real_ip_header    X-Forwarded-For;
        real_ip_recursive   on; 
        #return 301 http://jenkins.kkk.com;
        #rewrite ^(.*) http://jenkins.kkk.com permanent; 
    }   

}

3. Basic Auth 로그 인 인증 실현 방법 설정
1. httpd - tools 설치yum install httpd-tools -y
2. 권한 부여 사용자 와 비밀번호 만 들 기htpasswd -c -d /etc/nginx/conf/pass_file   kaikai
이 프로필 저장 경 로 는 마음대로 지정 할 수 있 습 니 다. 여기 서 지정 한 것 은 nginx 프로필 디 렉 터 리 입 니 다. 그 중에서 magina 는 로그 인 을 허용 하 는 사용자 이름 을 말 합 니 다. 이것 은 사용자 정의 할 수 있 습 니 다.
3. Nginx 설정
server {
  listen    80;  
  server_name res.yinnote.com;
 
 
 
  root  /mnt/html/resource;
  index index.html index.php;
}

upstream backend_addr {
    server 192.168.50.36:8989;
    keepalive 32; 
}
                                                                                                                                        
server {
    listen 80; 
    server_name kaikai.kkk.com;
    #rewrite ^(.*) https://$server_name$1 permanent; 
    return 301 https://$server_name$request_uri; 
}
server {
    listen 443 ssl http2;
    #listen 80;
    server_name kaikai.kkk.com;


    auth_basic  "    "; 
    auth_basic_user_file /etc/nginx/conf/pass_file;
 
    autoindex on;
    autoindex_exact_size on;
    autoindex_localtime on;


    charset utf-8;
    ssl on; 
    ssl_certificate      ssl/server.crt;
    ssl_certificate_key  ssl/server.key;
    location / { 
        proxy_pass http://backend_addr;
        proxy_redirect off;
        proxy_set_header     Host  $host;
        proxy_set_header      ROMOTE_ADDR  $remote_addr;
        proxy_set_header     X-Forwarded-For  $proxy_add_x_forwarded_for;
        real_ip_header    X-Forwarded-For;
        real_ip_recursive   on; 
        #return 301 http://jenkins.kkk.com;
        #rewrite ^(.*) http://jenkins.kkk.com permanent; 
    }   

}

 
 
 
 
 
 
 
 
 
 

좋은 웹페이지 즐겨찾기