nginx 검증 -- 자체 서명 https Basic Auth
4573 단어 운영 서버 서비스 배치
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;
}
}