njs 스크립팅 언어
njs는 JavaScript 언어의 하위 집합으로, nginx 기능을 확장합니다. njs는 ECMAScript 5.1(엄격한 모드)을 준수하여 개발되었으며, ECMAScript 6 이상 확장 프로그램을 사용합니다. 규정 준수 상태는 아직 발전 중입니다.
사용 사례
- 요청이 업스트림 서버에 도달하기 전에 njs에서 복잡한 액세스 제어 및 보안 검사 처리
- 응답 헤더 조작
- 유연한 비동기식 콘텐츠 핸들러 및 필터 작성
기본 HTTP 예시
nginx에서 njs 사용:
- njs 스크립트 언어 설치
- njs 스크립트 파일 생성(예: http.js) njs 속성과 메서드 목록은 참고 자료를 참조하세요.
function hello(r) {
r.return(200, "Hello world!");
}
export default {hello};
- nginx.conf 파일에서 ngx_http_js_module 모듈을 활성화하고 http.js 스크립트 파일로 listening sockets 명령을 지정합니다.
load_module modules/ngx_http_js_module.so;
events {}
http {
js_import http.js;
server {
listen 8000;
location / {
js_content http.hello;
}
}
}
nginx와 별개로 njs 개발과 디버깅에 사용할 수 있는 독립적인 명령줄 유틸리티도 있습니다.
테스트된 OS 및 플랫폼
- FreeBSD / amd64;
- Linux / x86, amd64, arm64, ppc64el;
- Solaris 11 / amd64;
- macOS / x86_64;