safari 계열의 브라우저에서 내 블로그가 정상적으로 열리지 않았다.
여러번 시도해야 열렸고, 한번에 열리지 않았다.
이원인을 찾기위해서 로그분석부터 부단한 노력을했으나, 한동안 해결할수 없었다.
그런데 어제 오픈카톡방의 박주혁 님께서 safari에서 정상적으로 열리지 않는다는 스크린샷을 올려주셨다.
인증문제가 아닐까 생각했지만 인증문제는 아니었고 이문제를 해결하기 위해선 내 웹서버의 설정을 설명해야 한다.
amazon linux에서는 httpd-2.4.39-1.amzn2.0.1.x86_64이 기본으로 설치되는 apache 이다. 그리고 php는 여러가지 버전을 repo로 지원하고 있는데 amazon-linux-extras 명령어로 사용가능한 repo를 확인할수 있다.
일단 이부분에서 내가 old한 엔지니어라는 사실을 알았다. 나는 apache-php 연동은 반드시 module로 연동을 한다. 그런데 amazon linux는 amazon-linux-extras install php7.3 명령어를 사용하면 module로 설치하는 것이 아닌 php-fpm 방식으로 php가 설치된다.
그렇기에 나는 몇가지 old한 설정을 추가하였다.
apache 는 온프레미스에서 의례 사용하던 방식인 prefrok 방식으로 설정하였고, php는 fpm이 아닌 module로 셋팅하였다.
여기서 문제가 발생한것이다. 아래 URL에서 발췌한 내용이다. HTTP/2 is supported in all multi-processing modules that come with httpd. However, if you use the prefork mpm, there will be severe restrictions.
root@ip-10-0-0-12 home]# w USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root@ip-10-0-0-12 home]# last reboot system boot 4.14.133-113.112 Wed Aug 28 12:43 - 10:34 (21:50)
session manager 는 w나 last에서 확인할수 없다. 로그인 내역은 aws console 에서 확인해야 하고 실제로 인스턴스 내에서 확인하려면 messages 로그에서 확인해야 한다.
Aug 29 11:33:49 ip-10-0-0-12 amazon-ssm-agent: 2019-08-29 11:33:49 INFO [MessageGatewayService] [EngineProcessor] [OutOfProcExecuter] [root-0aa231b76382aca8c] channel: root-0aa231b76382aca8c not found, creatinga new file channel…
Aug 29 11:33:49 ip-10-0-0-12 amazon-ssm-agent: 2019-08-29 11:33:49 INFO [MessageGatewayService] [EngineProcessor] [OutOfProcExecuter] [root-0aa231b76382aca8c] inter process communication started
ssm 세션 생성시에 발생하는 로그다.
이제 ssm user 에 777 부여후에 정상적으로 로그인 되는지 확인해 보겠다.
root@ip-10-0-0-12 home]# chmod 777 -R ssm-user
root@ip-10-0-0-12 home]# ls -al drwxrwxrwx 2 ssm-user ssm-user 83 Aug 20 22:27 ssm-user
echo $TOTIME
in_array() {
local needle array value
needle="${1}"; shift; array=("${@}")
for value in ${array[@]}; do [ "${value}" == "${needle}" ] && echo "true" && return; done
echo "false"
}