BusyBox용 httpd
개요
동작 확인과 예시를 조금 준비할 때 Nginx의 장면BusyBox을 사용하는 HTTP 서버httpd 명령를 사용할 수 있지 않을까 해서 몇 가지 사용법을 미리 적어두려고 합니다.
컨디션
Docker 컨테이너를 사용하여 BusiBox를 준비합니다.
$ docker --version
Docker version 20.10.8, build 3967b7d
$ docker run --rm busybox busybox --help|head -n 1
BusyBox v1.33.1 (2021-09-13 17:20:40 UTC) multi-call binary.
정적 파일 저장
-h
카탈로그를 맡길 수 있습니다.예를 들어 다음과 같이 준비하십시오
static/index.html
.<h1>Hello, world!</h1>
다음 명령을 사용하여 BuyBox의 HTTP 서버를 시작합니다.[1] docker run -d --name web -p 8080:80 -v $PWD/static:/static \
busybox httpd -f -h /static
curl
를 통해 동작을 확인한다.curl -s http://localhost:8080
Hello, world!
돌려줬어요.그나저나 부시박스에
wget
가 있으니 동작도 확인할 수 있어요.docker exec web wget http://localhost -q -O -
CGI 사용
/cgi-bin/
아래의 패스는 CGI 스크립트로 간주된다.BusyBox 단일체라면 조개 스크립트를 CGI 스크립트로 만들 수 있습니다.
예를 들어, 다음 파일
cgi/cgi-bin/index.cgi
을 작성하십시오.#!/bin/sh
# レスポンスヘッダーまたは空行から開始する必要がある
printf "\r\n"
printf "<h1>Hello, $(whoami)!</h1>"
# 設定された環境変数を見たい場合は次の行のコメントを外す
# env
그리고 실행 권한을 설정합니다.chmod +x cgi/cgi-bin/index.cgi
실행 권한이 있으면 HTTP 서버를 설정합니다.docker run -d --name web -p 8080:80 -v $PWD/cgi:/cgi \
busybox httpd -f -h /cgi
동작을 확인한다.curl -s http://localhost:8080/cgi-bin/index.cgi
<h1>Hello, root!</h1>
로 표시됩니다.CGI에 대한 자세한 내용은 RFC 3875를 참조하십시오.
특정 경로 요청
프로필을 준비하면 특정 경로의 요청을proxy로 할 수 있습니다.
우선 아래 내용에 따라 설정 파일을 준비한다.
파일 이름은
proxy/httpd.conf
입니다.P:/greeting:http://web/greeting
HTML 파일 2개를 준비합니다.첫 번째는 다음과 같은 내용
proxy/public/index.html
이다.<h1>Hello, proxy!</h1>
두 번째는 다음과 같은 내용web/greeting/hello.html
이다.<h1>Hello, world!(via proxy)</h1>
마지막으로 BusyBox를 사용하여 2개의 HTTP 서버를 만듭니다.docker run -d --name web -v $PWD/web/public:/public \
busybox httpd -f -h /public
docker run -d --name proxy -p 8080:80 --link web -v $PWD/proxy:/proxy \
busybox httpd -f -h /proxy/public -c /proxy/httpd.conf
curl
를 통해 동작을 확인한다.먼저
proxy
하숙의 정적 페이지를 얻습니다.curl -s http://localhost:8080
<h1>Hello, proxy!</h1>
돌아왔지.이어서
proxy
를 통해 web
위탁 관리를 받은 정적 페이지입니다.curl -s http://localhost:8080/greeting/hello.html
<h1>Hello, world!(via proxy)</h1>
돌아왔지.끝맺다
이번에 Busiy Box가 구비한
httpd
명령을 사용하여 다음 기능을 시도했다.그게 다야.
각주
설치
-f
후foreground에서 실행↩︎Reference
이 문제에 관하여(BusyBox용 httpd), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/backpaper0/articles/dd4f122cd387f9c043c4텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)