HTTP POST로 데이터를 보내 내용을 확인하고 싶습니다.

소개



POST로 보내는 데이터 내용을 쉽게보고 싶다면,
AWS의 APIGateway에 던지는 것이 쉽지만 'HTTPS'로만 POST 할 수 있습니다.
번역이 있어 'HTTP'로 POST하고 싶은 경우 어떻게 하자… 라고 생각해, Apache의 로그로 보기로 했습니다.

EC2에 Apache 설치 및 구성



우선 설치


# yum -y install httpd
..(インストール完了)..
# httpd -version
Server version: Apache/2.4.39 ()
Server built:   Apr  4 2019 18:09:28

자동 시작 설정



인스턴스를 시작했을 때 Apache도 동시에 시작하도록 설정.
# systemctl enable httpd.service

시작하고 안전하게 액세스할 수 있는지 확인.
# systemctl start httpd.service

EC2 인스턴스에 할당된 IP 주소를 두드려 Apache 테스트 페이지가 나오면 OK

POST 로그를 남기기 위한 설정



dumpio 모듈이 들어 있는지 확인
# httpd -M | grep dumpio
dumpio_module (shared)  ←やったー、入ってる!

config 파일에 모듈을 사용하는 취지 & 로그 출력 부분의 기재를 한다
# vi /etc/httpd/conf/httpd.conf

아래를 추기. (응답의 출력은 불필요하므로 DumpIOOutput 는 기재하지 않습니다)

httpd.conf
LoadModule dumpio_module      modules/mod_dumpio.so
DumpIOInput On

로그 레벨 변경 (원래는 LogLevel warn이었습니다)
LogLevel debug dumpio:trace7

변경이 끝나면 Apache를 재부팅.
# systemctl restart httpd.service

양식이있는 index.html 준비



/var/www/html 내에 index.html 만들기

index.html
<html>
<head><meta charset="utf-8"></head>
<body>
<form method="POST">
        <input type="text" name="id">
        <input type="submit" name="submit" value="send message">
</form>
</body>
</html>

POST 해 보자!


$ curl -X POST -F "id=testID" http://xxxxxxx  ←EC2インスタンスのIP

로그 조사


# tail -n 20 /var/log/httpd/error_log

있었습니다.
[Wed Sep 04 00:49:42.398487 2019] [dumpio:trace7] [pid 3497] mod_dumpio.c(103): [client xx.xx.xx.xx:xxxxx] mod_dumpio:  dumpio_in (data-HEAP): --------------------------1ebdfe62e1c40235\r\nContent-Disposition: form-data; name="id"\r\n\r\ntestID\r\n--------------------------1ebdfe62e1c40235--\r\n

보기 힘들기 때문에 로그를 성형하고 원하는 부분만 빼냅니다.
# grep 'name="id"\\r\\n\\r\\n' /var/log/httpd/error_log | sed -e 's/^.*name="id"\\r\\n\\r\\n\([0-9a-zA-Z_]*\).*$/\1/'
testID

잡힌
우선 확인용이라면 비교적 쉽게 할 수 있기 때문에 좋다고 생각했습니다

참고로 한 사이트



Apache에서 POST 데이터를 기록하고 싶습니다.
Apache 2.4에서 POST 내용을 로그에 출력할 때는 "LogLevel debug"만으로는 나오지 않는다
【sed / awk / grep】 문자열 치환, 추출, 검색 및 정규식 | Linux Cheat Sheet

사이고에게



항상 빚을지고 Qiita에 처음 게시했습니다
기사에 수요가 있을지 모릅니다만, 비망록이라고 하는 것으로….
다른 POST가 편하게 접수되는 방법이 있다면 꼭 알려주세요

좋은 웹페이지 즐겨찾기