[개발] SteemPunks 서버 설정 중

안녕하세요 @realmankwon 입니다.

SteemPunks 개발이 막바지에 이르러 서버 셋팅을 하고 있습니다.
도메인을 구입하고 AWS 서버와 맵핑을 한 후 HTTPS 를 설정을 하고 있습니다.
일단 HTTPS 설정을 위해 nginx 를 설치하고 SSL 인증서를 받았습니다.
이후 80포트, 443 포트를 실제 서버 포트와 매핑을 하는 작업을 하고 있는데 처음해 보다보니 하루가 후딱 지나가 버리는군요.

우선 nginx 설정 방법은 햅보이의 포스팅을 참조하였습니다.

간단하게 알아보는 Nginx에 Let’s Encrypt 인증서 발급 및 Certbot 설치

하지만 여기서 Let's Encrypt 사이트의 Certbot 설치시에는 os 와 버전마다 설치 방법이 다릅니다.
다행이도 버전마다 친절하게 방법을 가르쳐 주기 때문에 따라하면 어렵지 않게 설치가 가능합니다.
설치 이후에 /etc/nginx/sites-available/default파일에서 설정을 해주어야 합니다.

default 파일을 열면 server 설정이 3개가 나옵니다.
여기서 첫번째는 HTTP (80 port), 두번째는 HTTPS(443 port) 설정입니다.

현재 SteemPunks의 framework 는 Next.js를 사용하고 있기 때문에 이를 위한 설정을 해주어야 합니다.

  • location /_next/static

이 후 images 가 저장된 디렉토리를 설정해 줍니다.

  • location /images

마지막으로 라우팅 정보를 설정하고 나면 홈페이지가 정상적으로 접속이 됩니다.

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        server_name _;

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;

        location /_next/static {
            alias /home/ubuntu/[프로젝트 디렉토리]/.next/static;
            add_header Cache-Control "public, max-age=3600, immutable";
        }

        location / {
                proxy_pass http://localhost:[사용포트]/;
        }

        location /images{
            alias /home/ubuntu/[프로젝트 디렉토리]/public/images;
            add_header Cache-Control "public, max-age=3600, immutable";
        }
}

이때 아래의 구문을 location / 안에 작성한 포스팅들이 많았는데 이것 때문에 엄청난 삽질을 하였습니다.
혹시나 해서 밖으로 뺐는데 그제서야 정상적으로 실행되는 것을 확인했네요.

        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        # First attempt to serve request as file, then
        # as directory, then fall back to displaying a 404.
        try_files $uri $uri/ =404;

생각보다 오랜 시간이 걸렸지만 제대로 작동하도록 설정이 완료되어서 천만 다행입니다.
이제 며칠 남지 않았는데 잘 준비해서 성공적인 프로젝트 출시가 되었으면 좋겠습니다.

Sort:  

ramires님이 realmankwon님의 이 포스팅에 따봉(20 SCT)을 하였습니다.

@realmankwon transfered 20.000 KRWP to @krwp.burn. voting percent : 100.00%, voting power : 20.24%, steem power : 1935079.07, STU KRW : 1200.
@realmankwon staking status : 20527.648 KRWP
@realmankwon limit for KRWP voting service : 20.527 KRWP (rate : 0.001)
What you sent : 20.000 KRWP (Voting Percent over 100 %)
Refund balance : 16.471 KRWP [62255468 - 571a53bd0f1f7dd1b6608fc61c294b8f3ac40516]

기대됩니다!

Coin Marketplace

STEEM 0.27
TRX 0.12
JST 0.032
BTC 66960.97
ETH 3088.94
USDT 1.00
SBD 3.72