nginx 다중 도메인 전달을 구현하는 방법
기본 개념
DNS
DNS는 Domain Name System의 약어로, 도메인 이름 시스템입니다. DNS는 일반적으로 도메인 이름 서비스 또는 도메인 이름 확인 서비스라고 불리는 인터넷상의 서비스로, 주로 웹 사이트 도메인 이름과 IP 주소를 변환하는 서비스를 제공합니다.
도메인 이름과 IP의 대응
도메인 이름과 IP 주소는 일대일 대응이지만, 여러 도메인 이름이 동일한 IP 주소에 대응할 수 있습니다. 사람의 이름과 주민등록번호의 관계처럼, 주민등록번호보다 이름을 기억하는 것이 훨씬 더 쉽습니다. IP 주소는 인터넷에서 사용자의 사이트를 식별하기 쉽도록 IP 주소 대신 도메인 이름을 사용하여 사이트 주소를 나타냅니다. .
DNS 작동 방식
인터넷에서 도메인 이름을 사용하려면 두 개의 도메인 이름 서버에서 제공하는 "권한 있는" 도메인 이름 확인이 필요합니다. 국제 도메인 이름인 경우 도메인 이름 등록 기관은 Interinc입니다. 국내 도메인 이름인 경우 도메인 이름 등록 기관은 CNNIC입니다. 모든 도메인 이름을 정상적으로 사용하려면 두 개의 등록 기관에 등록해야 합니다.
예를 들어, www.baidu.com과 같은 웹사이트를 지금 방문하려면 컴퓨터가 이 사이트에 액세스하기 전에 이 사이트의 IP 주소를 알아야 합니다. 그러면 해당 지역의 "마스터 DNS" 서버, 즉 "www.baidu.com"의 IP가 무엇인지 자동으로 쿼리를 보냅니다. 서버에 도메인 이름에 대한 기록이 없으면 상위 DNS로 이동하여 마지막 수준에서도 찾을 수 없을 때까지 검색을 반복합니다. 이때 권한 있는 DNS를 검색한 다음 해당 IP 정보를 컴퓨터에 반환합니다. 귀하의 컴퓨터는 www.baidu.com에 해당하는 서버와 통신할 수 있습니다. 이러한 수준별 쿼리를 "재귀" 쿼리라고 합니다.
hosts 파일
hosts 파일은 접미사가 없는 로컬 시스템 파일이며 내용을 수정하려면 관리자 권한이 필요합니다. 위의 DNS 확인 프로세스에서 볼 수 있듯이 실제 IP 주소를 최종적으로 얻기 전에 각 DNS 확인이 여러 DNS 서버에 의해 전달될 수 있으므로 이는 매우 비효율적입니다. 따라서 컴퓨터에 로컬로 DNS 확인 파일, 즉 호스트 파일도 있습니다. 호스트의 www.baidu.com을 올바른 Baidu 서버 주소로 지정하면 컴퓨터가 올바른 서버와 상호 작용합니다. 로컬 호스트에 매핑 관계가 구성되어 있지 않으면 LAN의 DNS 서버로 이동하여 해당 매핑 관계를 찾습니다. 그래도 존재하지 않으면 로컬 해당 노드의 DNS에서 찾아보고 위에서 언급한 단계를 반복합니다.
nginx 리버스 프록시
프록시: 실제로는 A와 B가 직접 연결될 수도 있었지만 A와 B 사이에 C가 추가되었습니다. 정방향 프록시
는 위의 DNS로 클라이언트의 프록시 역할을 하며 클라이언트에 대한 요청을 보내고 받으며 서버에 투명합니다. 브라우저를 사용하여 http://www.google.com에 액세스하면 잔인하게 차단됩니다. 따라서 해외에 프록시 서버를 설정하고 google.com을 요청할 수 있도록 프록시에 요청하면 해당 구조가 반환됩니다. 요청에 따라 반환되었습니다.
역방향 프록시
는 서버에 대한 프록시 역할을 하며 클라이언트에게 투명합니다. www.baidu.com을 요청하는 것은 10086에 전화를 거는 것과 같습니다. 배후에서 우리에게 서비스를 제공하는 수천 개의 서버가 있을 수 있지만 그것이 어느 것인지 알 필요도 없고 알 필요도 없습니다. 역방향 프록시 서버가 누구인지가 중요합니다. www.baidu.com은 역방향 프록시 서버입니다. 역방향 프록시 서버는 요청을 실제 서버로 전달하는 데 도움이 됩니다. Nginx는 로드 밸런싱에 사용되는 성능이 매우 뛰어난 역방향 프록시 서버입니다.
nginx와 여러 도메인 이름 매핑을 수행하는 호스트
예를 들어, 두 애플리케이션의 도메인 이름은 a.test.com 및 b.test.com입니다.
C:WindowsSystem32driversetc 디렉터리에서 호스트 파일을 찾아 최고 관리자 권한으로 엽니다. 파일 끝에
a.test.com 127.0.0.1 b.test.com 127.0.0.1
를 추가하고 nginx.conf 파일을 수정하고(nginx.conf에는 많은 구성이 있으므로 여기서는 가장 간단한 예일 뿐입니다) http의 {} 내부에 서버를 추가합니다. 다음 내용을 추가하세요.
server { listen 80; server_name a.test.com; //填入自己项目对应的域名 charset utf-8; error_log logs/error.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:8888; //填入自己项目的ip加端口号(此处的项目没有工程上下文,只有端口号) } } server { listen 80; server_name b.test.com; //填入自己项目对应的域名 charset utf-8; error_log logs/error.log; location / { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://127.0.0.1:8889; //填入自己项目的ip加端口号(此处的项目没有工程上下文,只有端口号) } }
수정 후 nginx 구성 파일을 다시 로드하세요
nginx.exe -s reload
위 내용은 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)

뜨거운 주제











클라우드 서버에서 nginx 도메인 이름을 구성하는 방법 : 클라우드 서버의 공개 IP 주소를 가리키는 레코드를 만듭니다. Nginx 구성 파일에 가상 호스트 블록을 추가하여 청취 포트, 도메인 이름 및 웹 사이트 루트 디렉토리를 지정합니다. Nginx를 다시 시작하여 변경 사항을 적용하십시오. 도메인 이름 테스트 구성에 액세스하십시오. 기타 참고 : HTTPS를 활성화하려면 SSL 인증서를 설치하고 방화벽에서 포트 80 트래픽을 허용하고 DNS 해상도가 적용되기를 기다립니다.

nginx가 시작되었는지 확인하는 방법 : 1. 명령 줄을 사용하십시오 : SystemCTL 상태 nginx (linux/unix), netstat -ano | Findstr 80 (Windows); 2. 포트 80이 열려 있는지 확인하십시오. 3. 시스템 로그에서 nginx 시작 메시지를 확인하십시오. 4. Nagios, Zabbix 및 Icinga와 같은 타사 도구를 사용하십시오.

nginx 버전을 쿼리 할 수있는 메소드는 다음과 같습니다. nginx -v 명령을 사용하십시오. nginx.conf 파일에서 버전 지시문을 봅니다. nginx 오류 페이지를 열고 페이지 제목을 봅니다.

Docker 이미지 생성 단계 : 빌드 지침이 포함 된 Dockerfile을 작성하십시오. Docker 빌드 명령을 사용하여 터미널에 이미지를 빌드하십시오. Docker 태그 명령을 사용하여 이미지를 태그하고 이름과 태그를 지정하십시오.

Nginx 서버를 시작하려면 다른 운영 체제에 따라 다른 단계가 필요합니다. Linux/Unix System : Nginx 패키지 설치 (예 : APT-Get 또는 Yum 사용). SystemCTL을 사용하여 nginx 서비스를 시작하십시오 (예 : Sudo SystemCtl start nginx). Windows 시스템 : Windows 바이너리 파일을 다운로드하여 설치합니다. nginx.exe 실행 파일을 사용하여 nginx를 시작하십시오 (예 : nginx.exe -c conf \ nginx.conf). 어떤 운영 체제를 사용하든 서버 IP에 액세스 할 수 있습니다.

Linux에서는 다음 명령을 사용하여 nginx가 시작되었는지 확인하십시오. SystemCTL 상태 Nginx 판사 명령 출력에 따라 : "active : running"이 표시되면 Nginx가 시작됩니다. "Active : 비활성 (죽음)"이 표시되면 Nginx가 중지됩니다.

Linux에서 Nginx를 시작하는 단계 : Nginx가 설치되어 있는지 확인하십시오. systemctl start nginx를 사용하여 nginx 서비스를 시작하십시오. SystemCTL을 사용하여 NGINX를 사용하여 시스템 시작시 NGINX의 자동 시작을 활성화하십시오. SystemCTL 상태 nginx를 사용하여 시작이 성공했는지 확인하십시오. 기본 환영 페이지를 보려면 웹 브라우저의 http : // localhost를 방문하십시오.

Nginx 403 금지 된 오류를 수정하는 방법은 무엇입니까? 파일 또는 디렉토리 권한을 확인합니다. 2. 확인 파일을 확인하십시오. 3. nginx 구성 파일 확인; 4. nginx를 다시 시작하십시오. 다른 가능한 원인으로는 방화벽 규칙, Selinux 설정 또는 응용 프로그램 문제가 있습니다.
