MacBookPro M1에서 CentOS7 Docker 이미지를 가지고 놀 때, HTTPS 연결이 필요한 서버에 연결되지 않는 것 같았다.

예를 들어 yum -y update 명령을 실행하면 curl: (77) Problem with the SSL CA cert (path? access rights?)가 반환된다. 흠, 내 ca-certificates는 괜찮기 때문에 OS 버그처럼 보인다.

curl을 통해 GET 명령을 보내봤지만 작동하지 않는 것 같았다.

$ curl -vvv https://google.com
* About to connect () to google.com port 443  ( # 0) 
* Trying 216.58.212.142 ...
* Connected to github.com (216.58.212.142) port 443 (#0)
* Initializing NSS with certpath: sql: / etc / pki / nssdb
* Closing connection 0 curl: ( 77 ) Problem with the SSL CA cert ( path? Access rights? )

온라인에서 조사해보니 실제 버그였다. 자세한 내용은 여기: https://bugs.centos.org/view.php?id=16282

해결책

$ touch "/etc/sysconfig/64bit_strstr_via_64bit_strstr_sse2_unaligned"

그렇다, 이것이 전부다. TCP 연결을 안전하게 실행하려면 이 파일만 있으면 된다. 해결 후 결과는 다음과 같다.

$ curl -I https://google.com
HTTP/2 301
location: https://www.google.com/
content-type: text/html; charset=UTF-8
...

지금까지 M1 머신에서만 재현된다는 것도 미스터리다. 하지만 당분간 원인을 식별할 수 있었고, 목표에 도달했으니 괜찮지 않은가?