Nginx 부하 균형 / SSL 설정

2906 단어 Nginx
무엇이 부하 균형 입 니까?
도 메 인 이름 이 여러 대의 웹 서버 를 가리 킬 때 nginx 부하 균형 서버 를 추가 합 니 다. nginx 부하 균형 을 통 해 클 라 이언 트 의 요청 에서 각 웹 서버 에 균형 적 으로 보 낼 수 있 습 니 다. 한 대의 서버 부하 가 너무 높 고 다른 서버 가 비교적 남 은 불 균형 상황 이 발생 하지 않도록 합 니 다.
nginx 부하 균형 설정:
nginx 기계 에 새 프로필 만 들 기:
[root@centos02 ~]# vi /etc/nginx/conf.d/test.conf

다음 내용 을 추가 합 니 다:
upstream test
    {
        ip_hash;  
        server 192.168.0.10:80 weight=100; 
        server 192.168.10.10:80;
    }
    server
    {
        listen 80;
        server_name www.test.com;
        location /
        {
            proxy_pass http://test;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

upstream: 부하 균형 설정 apelearn: 사용자 정의 이름, server {} 에서 proxypass 인용 iphash: 같은 클 라 이언 트 의 모든 요청 을 같은 서버 에 보 냅 니 다 (같은 서버 에 보 내지 않 으 면 클 라 이언 트 가 사이트 에 막 로그 인 했 을 수도 있 습 니 다. 다른 하위 페이지 를 클릭 하면 로그 인 을 알 립 니 다) server: 웹 서버 주소 weight: 가중치 (범위 0 - 100) 를 정의 합 니 다. 부하 균형 서버 는 우선 권한 이 큰 웹 서버 server 에 요청 합 니 다.name: 웹 사이트 방문 도 메 인 proxypass: upstream 정의 이름 참조
nginx 설정 을 검증 하고 다시 불 러 오기:
[root@centos02 ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@centos02 ~]# nginx -s reload

다음은 클 라 이언 트 hosts 파일 을 수정 하여 테스트 도 메 인 www. test. com 이 테스트 하 는 nginx 부하 균형 기기 의 IP 를 가리 키 면 www. test. com 사 이 트 를 방문 할 수 있다.
nginx 는 SSL 인증 서 를 설정 하여 https 프로 토 콜 을 통 해 웹 사 이 트 를 방문 합 니 다.
SSL 인증서 신청 사이트:
1.https://www.wosign.com/ 2.https://freessl.cn/(무료)
\ # 브 라 우 저 를 통 해 생 성 된 후 서버 에 인증서 파일 을 만들어 야 합 니 다.
인증서 파일 생 성:
[root@linux ~]# mkdir /etc/nginx/ssl
[root@linux ~]# cd !$
cd /etc/nginx/ssl
[root@linux ssl]# touch ca
[root@linux ssl]# touch test.crt
[root@linux ssl]# touch test.key

\ # 인증서 신청 사이트 에서 제공 하 는 해당 인증서 의 내용 을 ca /. crt /. key 파일 에 추가 하면 됩 니 다.
nginx 프로필 편집:
[root@linux ~]# vi /etc/nginx/conf.d/bbs.conf 

다음 내용 을 추가 합 니 다:
listen       443 ssl;
server_name  test.bbs.com;
ssl on;
ssl_certificate /etc/nginx/ssl/test.crt;     #  .crt    
ssl_certificate_key /etc/nginx/ssl/test.key;   #  .key    
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

설정 을 검증 하고 nginx 를 다시 불 러 옵 니 다:
[root@linux ~]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
[root@linux ~]# nginx -s reload

\ # 다음 사이트 주소 표시 줄 에 방문 하면 HTTPS 를 표시 합 니 다.
curl 인증 방식:
curl -k -H "host:test.bbs.com" https://192.168.234.128/index.php

\ # host: 도 메 인 이름, https: / / webserver IP, 출력 결 과 는 사이트 페이지 태그 정보 즉 성공 을 표시 합 니 다.

좋은 웹페이지 즐겨찾기