전제 조건
1. 백엔드 서버: 이 튜토리얼의 목적을 위해 우리는 포트 8080의 localhost에서 실행되는 Tomcat 서버를 사용하고 있습니다.
참고: - 요청 프록시를 시작할 때 애플리케이션 서버가 시작했다.
2.ssl 인증서: 서버에도 SSL 인증서를 구성해야 합니다. Let's encrypt의 암호화 인증서를 사용할 수 있으며 여기에 언급된 프로그램을 사용하여 인증서를 얻을 수 있습니다. 하지만 이 튜토리얼에서는 터미널에서
$ openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout /etc/nginx/certs/cert.key -out /etc/nginx/certs/cert.crt
명령을 실행하여 생성할 수 있는 자체 서명된 인증서를 사용합니다. SSL을 사용하여 nginx 역방향 프록시를 구성하는 다음 단계는 nginx 설치,
install nginx
입니다.
ubuntu
nginx는 기본 우분투 저장소에서 사용할 수 있습니다. 매우 쉽습니다. 다음 명령을 사용하여 설치하십시오.
$ sudo apt-get update && sudo apt-get install nginx
이제 서비스를 시작하고 시작을 위해 활성화하십시오.
# systemctl start nginx # systemctl enable nginx
이제 nginx 설치를 확인하고 웹 브라우저를 열고 시스템 IP를 URL로 입력하여 기본값을 얻을 수 있습니다. nginx 웹페이지에서 nginx가 제대로 작동하는지 확인하세요.
SSL을 사용하여 nginx 역방향 프록시 구성
이제 SSL을 사용하여 nginx 역방향 프록시를 구성하는 데 필요한 모든 것이 준비되었습니다. 이제 nginx에서 구성해야 하며 /etc/nginx/conf.d/default.conf인 기본 nginx 구성 파일을 사용합니다.
구성을 처음 변경하는 것이라고 가정하고 파일을 삭제하고 모든 이전 파일 내용을 삭제하거나 주석 처리하고 다음 항목을 파일에 배치합니다.
vi /etc/nginx/conf.d/default.conf
server { listen 80; return 301 https://$host$request_uri; } server { listen 443; server_name linuxtechlab.com; ssl_certificate /etc/nginx/ssl/cert.crt; ssl_certificate_key /etc/nginx/ssl/cert.key; ssl on; ssl_session_cache builtin:1000 shared:ssl:10m; ssl_protocols tlsv1 tlsv1.1 tlsv1.2; ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; ssl_prefer_server_ciphers on; access_log /var/log/nginx/access.log; location / { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; proxy_pass http://localhost:8080; proxy_read_timeout 90; proxy_redirect http://localhost:8080 https://linuxtechlab.com; } }
모든 변경을 완료한 후 파일을 저장하고 종료합니다. 변경 사항을 구현하기 위해 nginx 서비스를 다시 시작하기 전에 섹션별로 구성에 대해 논의하겠습니다.
섹션 1
server { listen 80; return 301 https://$host$request_uri; }
여기에서는 포트 80에 대한 요청을 수신한 다음 https로 리디렉션하도록 지시합니다.
섹션 2
listen 443; server_name linuxtechlab.com; ssl_certificate /etc/nginx/ssl/cert.crt; ssl_certificate_key /etc/nginx/ssl/cert.key; ssl on; ssl_session_cache builtin:1000 shared:ssl:10m; ssl_protocols tlsv1 tlsv1.1 tlsv1.2; ssl_ciphers high:!anull:!enull:!export:!camellia:!des:!md5:!psk:!rc4; ssl_prefer_server_ciphers on;
이제 우리가 사용하고 있는 몇 가지 기본 nginx SSL 옵션은 nginx 웹 서버에 어떤 프로토콜 버전, SSL 암호화가 지원되는지 알려줍니다.
섹션 3
location / { proxy_set_header host $host; proxy_set_header x-real-ip $remote_addr; proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for; proxy_set_header x-forwarded-proto $scheme; proxy_pass http://localhost:8080; proxy_read_timeout 90; proxy_redirect http://localhost:8080 https://linuxtechlab.com; }
이제 이 섹션에서는 프록시와 수신 요청이 들어오면 어디로 가는지 다룹니다. 이제 모든 구성에 대해 논의했으므로 nginx 서비스를 확인한 후 다시 시작하겠습니다.
nginx를 확인하려면 다음 명령을 실행하세요.
# nginx -t
모든 구성 파일이 정상이면 nginx 서비스를 다시 시작합니다.
# systemctl restart nginx
이제 SSL nginx 리버스 프록시가 준비되었습니다. 이제 설정을 테스트하려면 웹 브라우저를 열고 URL을 입력하기만 하면 됩니다. 이제 Apache Tomcat 웹 페이지로 리디렉션됩니다.
위 내용은 SSL을 사용하여 Nginx 역방향 프록시를 구성하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!