macOS 10.15 홈서버 구축 -(2)보안설정

zion·2025년 6월 14일

Mac

목록 보기
2/3

openssl(자체서명)

: openssl 설정후, Let’s Encrypt 로 변경하려고 했으나, brew install certbot 설치 실패가 발생해, openssl 까지만 진행. cloudflare ssl : full 설정일 경우 자체서명 사용가능

1. OpenSSL 설정파일 생성

nano ~/openssl-san.cnf

[req]
default_bits       = 2048
prompt             = no
default_md         = sha256
req_extensions     = req_ext
distinguished_name = dn

[dn]
C  = KR
ST = Seoul
L  = Seoul
O  = ZionDev
OU = Dev
CN = localhost

[req_ext]
subjectAltName = @alt_names

[alt_names]
DNS.1 = localhost
IP.1  = 127.0.0.1

2. 인증서 및 키 생성

openssl req -x509 -nodes -days 365 \
  -newkey rsa:2048 \
  -keyout ~/localhost.key \
  -out ~/localhost.crt \
  -config ~/openssl-san.cnf \
  -extensions req_ext

3. nginx 설정 수정

:기존 8080, 443 포워딩 설정은 cloudflare 기능으로 대제 된다.

listen 443 ssl;
server_name  [도메인 이름];
ssl_certificate     [localhost.crt 주소];
ssl_certificate_key [localhost.key 주소];
openssl x509 -in [파일 주소].crt -text -noout | grep -A1 "Subject Alternative Name"

4. nginx 재시작

sudo nginx -s reload

도메인 설정

1. 도메인구매 및 cloudflare 설정

www.namecheap.com
https://dash.cloudflare.com

brew install cloudflared
cloudflared tunnel login
cloudflared tunnel create zionlee-website-tunnel 
cloudflared tunnel run zionlee-website-tunnel 

2. cloudflare cname 설정

: 초기 A, CNAME 레코드 삭제후 실행

cloudflared tunnel route dns zionlee-website-tunnel zionlee.website

연결확인

1. nginx 443 포트 LISTEN 실행확인

: 오류 확인시, nginx 실행 여부 및 설정 확인

sudo lsof -i :443
curl -vk https://localhost

2. nginx 연결 오류시

1) PID 확인

ps aux | grep nginx
cat /usr/local/var/run/nginx.pid

2) PID 파일 수동 삭제 후 nginx 재시작

sudo rm -f /usr/local/var/run/nginx.pid
sudo nginx
sudo nginx -s reload

3. 외부 접근 확인

: 실패시, cloudflare 설정, 방화벽 확인

curl -vk [도메인 주소]

4. URL 확인

profile
be_zion

0개의 댓글