개발 중에 SOP 문제를 방지하고, 원본, 프록시 서비스를 결합하고, SSL, HTTP2, SSI 등을 사용하세요!
설치 | 사용법 | 구성 | 예시 프로젝트 | 지원 | 변경 내역
Proxrox는 로컬 Nginx 인스턴스를 시작하여 정적 파일을 제공하고, 단일 원본에서 하나 이상의 서비스를 프록시하고, 로컬로 SSL을 사용하고, 일반적으로 프로덕션 환경과 유사한 개발 환경을 얻는 명령줄 유틸리티입니다.
Proxrox는 Nginx를 사용하여 이를 달성합니다. proxrox가 서버를 시작하라는 요청을 받으면 임시 위치에 Nginx 구성 파일을 생성하고 이 구성 파일을 사용하여 Nginx 인스턴스를 시작합니다. 이는 proxrox가 이론적으로 Nginx의 모든 기능을 지원할 수 있음을 의미합니다.
다음 프레젠테이션에 표시된 것처럼 Proxrox를 사용하여 웹 앱을 디버깅할 수도 있습니다.
TL;DR; npm install -g proxrox
. Nginx는 $PATH
에 있어야 하며 슈퍼유저 권한 없이 실행 가능해야 합니다.
자세한 설치 지침은 INSTALLATION.md에서 확인할 수 있습니다.
로컬 구성 파일을 사용하여 proxrox를 시작합니다. 형식 및 지원되는 옵션은 CONFIGURATION.md 파일에 설명되어 있습니다.
proxrox start .proxrox.yaml
실행 중인 Nginx 인스턴스를 중지합니다(모두 중지).
proxrox stop
경험에 따르면 구성 파일(예: .proxrox.yaml
)을 통한 옵션 정의가 가장 일반적으로 사용되는 옵션입니다. 권장 프로젝트 설정이 포함된 작업 예제 프로젝트는 예제 디렉터리에서 볼 수 있습니다.
개발 환경은 프로덕션 환경과 유사해야 합니다. 이는 개발 중에 서버 측 포함, 전송 계층 보안, 압축 등이 존재해야 함을 의미합니다. 이는 페이지 속도 최적화에 중요할 뿐만 아니라 보안 문제(예: 안전하지 않은 콘텐츠를 참조하는 보안 페이지)를 조기에 발견할 수도 있습니다.
앱이 서비스 지향, 마이크로 서비스 기반, 리소스 지향 클라이언트 아키텍처(예: 단일 페이지 앱)인지 여부에 관계없이 동일 출처 정책은 로컬 개발에서 종종 문제가 됩니다. 사람들은 다양한 방법으로 이 문제를 회피합니다. 대부분의 팀은 프로덕션 환경에 대한 모범 사례를 갖추고 있지만 개발 환경에는 이것이 부족한 경우가 많습니다. 내가 본 솔루션은 기능 플래그를 통해 활성화된 로컬 개발을 위한 원본 간 리소스 공유부터 브라우저의 웹 보안을 완전히 비활성화하는 것까지 다양했습니다.
많은 사람들이 서버 측 포함을 모르거나 사용하지 않습니다. 여기에는 아마도 다양한 이유가 있을 것입니다. 제가 직접 느낀 점 중 하나는 프록시 서버를 사용하여 적절한 개발 환경을 설정하는 데 시간이 걸린다는 것입니다.
뭔가 예상대로 작동하지 않나요? @BenRipkens를 통해 Twitter에서 저에게 연락해주세요!