SSL을 사용하여 Nginx 역방향 프록시를 구성하는 방법
전제 조건
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Tomcat 서버가 외부 네트워크에 액세스하도록 허용하려면 다음을 수행해야 합니다. 외부 연결을 허용하도록 Tomcat 구성 파일을 수정합니다. Tomcat 서버 포트에 대한 액세스를 허용하는 방화벽 규칙을 추가합니다. Tomcat 서버 공용 IP에 대한 도메인 이름을 가리키는 DNS 레코드를 만듭니다. 선택 사항: 역방향 프록시를 사용하여 보안 및 성능을 향상합니다. 선택 사항: 보안 강화를 위해 HTTPS를 설정합니다.

ThinkPHP Framework를 로컬에서 실행하는 단계: ThinkPHP Framework를 로컬 디렉터리에 다운로드하고 압축을 풉니다. ThinkPHP 루트 디렉터리를 가리키는 가상 호스트(선택 사항)를 만듭니다. 데이터베이스 연결 매개변수를 구성합니다. 웹 서버를 시작합니다. ThinkPHP 애플리케이션을 초기화합니다. ThinkPHP 애플리케이션 URL에 접속하여 실행하세요.

"Welcome to nginx!" 오류를 해결하려면 가상 호스트 구성을 확인하고, 가상 호스트를 활성화하고, Nginx를 다시 로드하고, 가상 호스트 구성 파일을 찾을 수 없으면 기본 페이지를 만들고, Nginx를 다시 로드해야 합니다. 그러면 오류 메시지가 나타납니다. 사라지고 웹사이트는 정상적으로 표시됩니다.

Docker 환경에는 공유 네트워크, Docker Compose, 네트워크 프록시, 공유 볼륨 및 메시지 큐의 5가지 컨테이너 통신 방법이 있습니다. 격리 및 보안 요구 사항에 따라 Docker Compose를 활용하여 연결을 단순화하거나 네트워크 프록시를 사용하여 격리를 높이는 등 가장 적절한 통신 방법을 선택하세요.

HTML 파일을 URL로 변환하려면 다음 단계를 포함하는 웹 서버가 필요합니다. 웹 서버를 얻습니다. 웹 서버를 설정합니다. HTML 파일을 업로드하세요. 도메인 이름을 만듭니다. 요청을 라우팅합니다.

Node.js 프로젝트의 서버 배포 단계: 배포 환경 준비: 서버 액세스 권한 획득, Node.js 설치, Git 저장소 설정. 애플리케이션 빌드: npm run build를 사용하여 배포 가능한 코드와 종속성을 생성합니다. Git 또는 파일 전송 프로토콜을 통해 서버에 코드를 업로드합니다. 종속성 설치: SSH를 서버에 연결하고 npm install을 사용하여 애플리케이션 종속성을 설치합니다. 애플리케이션 시작: node index.js와 같은 명령을 사용하여 애플리케이션을 시작하거나 pm2와 같은 프로세스 관리자를 사용합니다. 역방향 프록시 구성(선택 사항): Nginx 또는 Apache와 같은 역방향 프록시를 사용하여 트래픽을 애플리케이션으로 라우팅합니다.

실패한 phpMyAdmin 설치에 대한 문제 해결 단계: 시스템 요구 사항(PHP 버전, MySQL 버전, 웹 서버)을 확인하고 PHP 확장(mysqli, pdo_mysql, mbstring, token_get_all)을 활성화하고 구성 파일 설정(호스트, 포트, 사용자 이름, 비밀번호)을 확인합니다. 권한(디렉터리 소유권, 파일 권한), 방화벽 설정 확인(웹 서버 포트 허용 목록), 오류 로그 보기(/var/log/apache2/error.log 또는 /var/log/nginx/error.log) phpMyAdmin

Dockerfile에서 가장 일반적으로 사용되는 지침은 다음과 같습니다. FROM: 새 이미지 생성 또는 새 이미지 파생 RUN: 명령 실행(소프트웨어 설치, 시스템 구성) COPY: 로컬 파일을 이미지에 복사 ADD: COPY와 유사하며 자동으로 압축을 풀 수 있습니다. tar 아카이브 또는 URL 파일 얻기 CMD: 컨테이너가 시작될 때 명령 지정 EXPOSE: 컨테이너 수신 포트 선언(공개는 아님) ENV: 환경 변수 설정 VOLUME: 호스트 디렉터리 또는 익명 볼륨 마운트 WORKDIR: 작업 디렉터리 설정 컨테이너 ENTRYPOINT: 컨테이너가 시작될 때 실행할 항목을 지정합니다. 실행 파일(CMD와 유사하지만 덮어쓸 수 없음)
