목차
요구 사항
return 302 사용
proxy_pass를 사용하세요
proxy_pass에서 사용하는 구문은 /
기타 질문
운영 및 유지보수 엔진스 nginx 구성을 다른 웹사이트로 전달하는 방법

nginx 구성을 다른 웹사이트로 전달하는 방법

May 11, 2023 pm 07:28 PM
nginx

요구 사항

다음과 같은 요구 사항이 있습니다. 프로젝트의 특정 주소로 점프하지만 이 주소는 사용자에게 노출되기를 원하지 않습니다.

그래서 우리는 프록시 레이어를 만들고 ngnix를 사용하여 프로젝트의 특정 경로를 통해 이 주소로 직접 프록시를 사용하는 방법을 생각했습니다.

관련 문서를 쿼리한 결과 해결 방법은 다음과 같습니다.

return 302 사용

location /myBaidu {
  return 302 http://baidu.com;
}
  • 이 해결 방법은 Baidu로 직접 이동하여 도메인 이름을 변경합니다. 이는 direct location.href = 'baidu와 동일합니다. .com'은 분명히 우리 요구에 적합하지 않습니다.

  • 우리가 원하는 효과는 Baidu로 프록시를 지정하는 것이지만 브라우저의 URL 상자는 여전히 /sparkMonitor입니다. 그런 다음 Proxy_pass를 사용하세요

proxy_pass를 사용하세요

우리 웹 사이트 도메인 이름이 http://myorigin이라고 가정합니다. com /

location /myBaidu {
  proxy_pass http://www.baidu.com/;
}

이렇게 구성하면 아래와 같이 http://myorigin.com/myBaidu에서 바이두 페이지에 바로 접속할 수 있습니다

nginx 구성을 다른 웹사이트로 전달하는 방법

proxy_pass에서 사용하는 구문은 /

와 관련이 있습니다. 경로에 /: 상대 경로가 추가됩니다. 이는 http://www.baidu.com/

location /myBaidu {
  proxy_pass http://www.baidu.com/;
}

로 프록시하는 것과 같습니다. http://myorigin.com/myBaidu/abc를 방문하는 것은 방문하는 것과 같습니다. http://www.baidu.com/abc

경로에 /:절대경로를 추가하지 않은 경우 http://www.baidu.com/myBaidu

location /myBaidu {
  proxy_pass http://www.baidu.com;
}

http:/로 접속하는 것과 같습니다. /myorigin.com/myBaidu/abc는 http://www.baidu.com/myBaidu/abc

경로에 /xxx/

location /myBaidu {
  proxy_pass http://www.baidu.com/xxx/;
}
  • 를 추가하면 http://myorigin에 접속하는 것과 같습니다. com/myBaidu/abc는 http://www.baidu.com/xxx/abc

에 액세스하는 것과 같습니다. http://myorigin.com/을 방문하면 /xxx

location /myBaidu {
  proxy_pass http://www.baidu.com/xxx;
}
  • 로 경로가 추가됩니다. myBaidu/abc, http://www.baidu.com/xxxabc

기타 질문

  • proxy_pass 솔루션을 사용하여 Baidu 페이지에 대한 역프록시를 사용하면 문제가 없습니다.

  • 하지만 우리 프로젝트에서는 인트라넷 도메인 이름으로 점프해야 하며, 이 도메인 이름과 http://myorigin.com/은 상호 운용이 불가능하므로 프록시를 구성할 때 이를 IP 주소로 구성해야 합니다. 그런 다음 프록시가 성공적으로 점프합니다.

그러나 이때 에이전트를 여는 페이지에는 스타일이 표시되지 않습니다. 콘솔을 확인하면 다음 오류가 발견되었습니다.

nginx 구성을 다른 웹사이트로 전달하는 방법

아래 표시된 오류를 보려면 클릭하세요

nginx 구성을 다른 웹사이트로 전달하는 방법

  • 이로부터 문제는 명백합니다. 프록시 웹사이트는 루트 디렉터리의 절대 경로를 사용하여 /static 아래에서 jquery 파일을 찾기 때문에 http://myorigin.com/static을 직접 찾습니다. 이런 식으로 프록시 프로젝트를 찾을 수 없습니다/정적 파일이므로 jquery는 오류를 찾을 수 없으며 페이지 스타일이 유효하지 않습니다

  • 그리고 /static 파일뿐만 아니라 다른 파일도 마찬가지입니다. 파일을 찾을 수 없으며 경로가 라우팅과 충돌하여 문제가 발생할 수 있습니다

  • 따라서 프론트엔드 프로젝트의 nginx 구성을 다른 웹사이트에 주의해서 전달해야 한다는 결론을 내릴 수 있습니다. 특정 상황에 대한 구체적인 분석이 필요합니다

위 내용은 nginx 구성을 다른 웹사이트로 전달하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Stock Market GPT

Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

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

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

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

뜨거운 주제

PHP를 사용하여 Q & A 커뮤니티 플랫폼을 개발하는 방법 PHP 대화 형 커뮤니티 수익 창출 모델에 대한 자세한 설명 PHP를 사용하여 Q & A 커뮤니티 플랫폼을 개발하는 방법 PHP 대화 형 커뮤니티 수익 창출 모델에 대한 자세한 설명 Jul 23, 2025 pm 07:21 PM

1. PHP 개발 질문 및 답변 커뮤니티에서 Laravel MySQL VUE/React 조합의 첫 번째 선택은 생태계의 성숙과 높은 개발 효율로 인해 Laravel MySQL VUE/React 조합의 첫 번째 선택입니다. 2. 고성능은 캐시 (REDIS), 데이터베이스 최적화, CDN 및 비동기 큐에 의존해야합니다. 3. 입력 필터링, CSRF 보호, HTTPS, 비밀번호 암호화 및 권한 제어로 보안을 수행해야합니다. 4. 돈 선택적 광고, 회원 가입, 보상, 커미션, 지식 지불 및 기타 모델은 핵심은 커뮤니티 톤 및 사용자 요구에 맞는 것입니다.

Nginx에서 '너무 많은 열린 파일'오류의 원인은 무엇입니까? Nginx에서 '너무 많은 열린 파일'오류의 원인은 무엇입니까? Jul 05, 2025 am 12:14 AM

Nginx가 "ToomyopenFiles"오류를 경험하면 일반적으로 시스템 또는 프로세스가 파일 디스크립터 제한에 도달했기 때문입니다. 솔루션은 다음과 같습니다. 1. Linux 시스템의 소프트 및 하드 제한을 늘리거나 nginx의 관련 매개 변수를 설정하거나 /etc/security/limits.conf에서 실행 사용자를 설정합니다. 2. 예상 트래픽에 적응하도록 nginx의 worker_connection 값을 조정하고 과부하 된 구성을 확인하십시오. 3. 시스템 수준 파일 설명자의 상한을 늘리십시오. fs.file-max, /etc/sysctl.conf edit 및 변경 사항을 적용하십시오. 4. 로그 및 리소스 사용량을 최적화하고 Open_L 사용과 같은 불필요한 파일 핸들 사용을 줄입니다.

NGINX 및 PHP 서비스의 조합을 구성하기 위해 MacOS를 사용하여 PHP NGINX 환경을 구축하는 방법 NGINX 및 PHP 서비스의 조합을 구성하기 위해 MacOS를 사용하여 PHP NGINX 환경을 구축하는 방법 Jul 25, 2025 pm 08:24 PM

MAC 환경 구조에서 홈 브루의 핵심 역할은 소프트웨어 설치 및 관리를 단순화하는 것입니다. 1. 홈브리는 종속성을 자동으로 처리하고 복잡한 편집 및 설치 프로세스를 간단한 명령으로 캡슐화합니다. 2. 소프트웨어 설치 위치 및 구성의 표준화를 보장하기 위해 통합 소프트웨어 패키지 생태계를 제공합니다. 3. 서비스 관리 기능을 통합하고 양조 서비스를 통해 서비스를 쉽게 시작하고 중지 할 수 있습니다. 4. 편리한 소프트웨어 업그레이드 및 유지 관리 및 시스템 보안 및 기능을 향상시킵니다.

NGINX에서 HTTP/2 또는 HTTP/3 지원을 활성화하는 방법은 무엇입니까? NGINX에서 HTTP/2 또는 HTTP/3 지원을 활성화하는 방법은 무엇입니까? Jul 02, 2025 am 12:36 AM

Nginx의 HTTP/2 또는 HTTP/3 지원을 가능하게하려면 전제 조건을 충족하고 올바르게 구성해야합니다. HTTP/2는 Nginx1.9.5, OpenSSL1.0.2 및 HTTPS 환경을 필요로합니다. add-with-http_v2_module 모듈 구성 중에 청취 문을 수정하여 443SSLHTTP2; 서비스에 과부하; HTTP/3은 quic을 기반으로하며, 컴파일 중에 BoringsSL 또는 OpenSSLquic 브랜치를 도입하고 UDP 청취 포트를 구성하려면 Nginx-Quic과 같은 타사 모듈이 필요합니다. 배포 중 일반적인 문제는 ALPN이 활성화되지 않음, 인증서 호환성, 방화벽 제한 및 컴파일 오류가 포함됩니다. 우선 순위를 사용하는 것이 좋습니다.

Kubernetes를 사용하여 PHP 환경을 일관된 생산 및 로컬 컨테이너 구성 표준을 유지하는 방법 Kubernetes를 사용하여 PHP 환경을 일관된 생산 및 로컬 컨테이너 구성 표준을 유지하는 방법 Jul 25, 2025 pm 06:21 PM

PHP 환경과 생산 사이의 불일치 문제를 해결하기 위해 핵심은 Kubernetes의 컨테이너화 및 오케스트레이션 기능을 사용하여 환경 일관성을 달성하는 것입니다. 특정 단계는 다음과 같습니다. 1. 모든 PHP 버전, 확장, 종속성 및 웹 서버 구성을 포함하여 통합 된 Docker 이미지를 구축하여 동일한 이미지가 개발 및 생산에 사용되도록합니다. 2. Kubernetes의 구성 및 비밀을 사용하여 비 민감하고 민감한 구성을 관리하고 볼륨 마운트 또는 환경 가변 주입을 통해 다양한 환경 구성의 유연한 스위칭을 달성합니다. 3. Unified Kubernetes 배포 정의 파일 (배포 및 서비스 등)을 통한 응용 프로그램 동작 일관성을 보장하고 버전 제어에 포함시킵니다. 4.

PHP를 사용하여 전자 상거래 백엔드 수익 창출 PHP 전자 상거래 시스템 아키텍처 및 이익 전략을 개발하는 방법 PHP를 사용하여 전자 상거래 백엔드 수익 창출 PHP 전자 상거래 시스템 아키텍처 및 이익 전략을 개발하는 방법 Jul 25, 2025 pm 06:33 PM

1. PHP 전자 상거래 백엔드의 주류 프레임 워크에는 Laravel (빠른 개발, 강력한 생태학), Symfony (엔터프라이즈 수준, 안정적인 구조), YII (우수한 성능, 표준화 된 모듈에 적합); 2. 기술 스택에는 MySQL Redis 캐시, Rabbitmq/Kafka 메시지 대기열, Nginx PHP-FPM 및 프론트 엔드 분리가 장착되어 있어야합니다. 3. 높은 동시성 아키텍처는 계층화되고 모듈화되어야하며 데이터베이스는 분리/분산 데이터베이스를 읽고 쓰고, 캐시 및 CDN으로 가속화되고, 작업의 비동기 처리,로드 밸런싱 및 세션 공유, 점차 마이크로 서비스 및 모니터링 및 경보 시스템을 설정해야합니다. 4. 다중 수익 창출 경로에는 제품 가격 차이 또는 플랫폼 커미션, 사이트 광고, SAAS 구독, 맞춤형 개발 및 플러그인 시장, API 연결이 포함됩니다.

위치 블록 (위치)에서 @는 무엇을 의미합니까? 위치 블록 (위치)에서 @는 무엇을 의미합니까? Jul 09, 2025 am 01:49 AM

Nginx 구성에서 위치 블록 내의 @ 기호는 이름이 지정된 위치를 정의하는 데 사용됩니다. 이들은 내부적으로 사용되는 엔드 포인트이며 클라이언트 요청과 직접 일치 할 수 없습니다. 일반적으로 error_page, try_files 또는 다시 쓰기 지시문을 통해 호출됩니다. 1. 이름 지정 위치는 @로 시작합니다. 예를 들어, 위치@notfound는 직접 요청에 응답하지 않지만 다른 구성 부분에서 트리거됩니다. 2. 이것은 종종 사용자 정의 오류 처리, 내부 라우팅 및 백엔드 에이전트 백업에 사용됩니다. 3. 예를 들어, try_files와 결합하여 정적 파일이 존재하지 않을 때 @backend로 전달합니다. 4. 참고 사항에는 다음이 포함됩니다. 직접 액세스하지 않음, 명명 충돌을 피하고 설명 이름을 사용합니다. 이름이 지정된 위치에는 포함될 수 있습니다

다시로드하기 전에 구문 오류에 대한 NGINX 구성을 테스트하는 방법은 무엇입니까? 다시로드하기 전에 구문 오류에 대한 NGINX 구성을 테스트하는 방법은 무엇입니까? Jul 13, 2025 am 01:06 AM

Nginx 구성을 수정 한 후 먼저 구문을 테스트 한 다음 서비스를 다시로드해야합니다. 1. nginx-t를 사용하여 구성 파일 구문을 확인하십시오. "SyntaxIsok"및 "TestisSuccessful"프롬프트가 프롬프트되면 정확하다는 것을 의미합니다. 오류가 있으면 특정 문제 라인이 표시됩니다. 2. 구성 파일 권한이 높으면 sudonginx-t를 사용하여 실행해야합니다. 3. 테스트가 실제로로드되었는지 확인하십시오. nginx-t-c/path/to/your/nginx.conf를 통해 경로를 지정하거나 ps-ef | grepnginx를 통해 기본 프로세스에서 사용한 구성 파일을 볼 수 있습니다. 4. 테스트가 통과 된 후 SudongInx-Sreload Overload 서비스를 실행하여 새 구성을 발효시킵니다.

See all articles