ubuntu 22에서 certbot 으로 https 무료 ssl 발급 및 nginx로 연결하기

나의 재물운? 연애운은?

AI가 봐주는 내 사주팔자 - 운세박사

https://aifortunedoctor.com/

ubuntu 22에서 certbot 으로 https 무료 ssl 발급 및 nginx로 연결하기

영리치 0 649 2023.11.01 17:08

https://awswithatiq.com/how-to-run-a-nodejs-application-in-ubuntu-22-with-ssl-via-letsencrypt/


위에 사람이 나보다 똑똑한 것 같으니 위에 보면 


etsencrypt를 통해 SSL을 사용하여 Ubuntu 22에서 NodeJS 애플리케이션을 실행하는 방법

현재 Letsencrypt를 통해 SSL을 사용하여 Ubuntu 22에서 NodeJS 애플리케이션을 실행하는 방법을 보고 있습니다.

Letsencrypt를 통해 SSL을 사용하여 Ubuntu 22에서 NodeJS 애플리케이션을 실행하는 것은 애플리케이션이 안전하고 모든 사용자가 액세스할 수 있도록 하는 좋은 방법입니다. SSL(Secure Sockets Layer)은 네트워크로 연결된 컴퓨터 간에 보안 연결을 설정하기 위한 프로토콜입니다. Letsencrypt는 애플리케이션에 대한 SSL 인증서를 쉽게 얻고 설치할 수 있게 해주는 무료 오픈 소스 인증 기관입니다.

에조익

다음은 Letsencrypt를 통해 SSL을 사용하여 Ubuntu 22에서 NodeJS 애플리케이션을 실행하는 방법에 대한 단계별 가이드입니다.

1 Ubuntu 22에 Nginx 설치

Ubuntu에 Nginx를 설치하려면 쉘을 통해 터미널에 로그인하고 아래 명령을 실행하십시오.

에조익
sudo apt update -y 
sudo apt install nginx -y

이 명령은 Nignx를 Ubuntu 시스템에 연결합니다.

2. NodeJS 및 npm(노드 패키지 관리자) 설치

NodeJS 및 npm(노드 패키지 관리자)을 설치하려면 아래 명령을 실행하세요.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.2/install.sh | bash

export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm

nvm이 설치되었는지 확인하려면 다음 명령을 실행하십시오.

에조익
command -v nvm

그런 다음 이 명령을 실행하여 NVM을 사용하여 Node 16을 설치합니다.

nvm install 16

3. 도메인/하위 도메인에 대한 Nginx 서버 블록 생성

다음은 Nodejs 애플리케이션을 위한 샘플 Nginx 서버 블록 중 하나입니다. 이 위치에 구성 파일을 만듭니다.

sudo vi /etc/nginx/conf.d/nodejs.conf
server {
    listen 80;
    server_name atiqur.xyz;
    location / {
        proxy_pass http://127.0.0.1:3000;
        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;
    }
}

도메인 이름을 귀하의 도메인 이름으로 바꾸십시오.

서버 블록을 생성한 후 이 명령을 실행하여 nginx를 다시 시작하십시오.

sudo systemctl restart nginx 

4. Express를 사용하여 간단한 Nodejs 애플리케이션 만들기

아래 코드를 사용하여 Express를 사용하여 간단한 Nodejs 애플리케이션을 만듭니다.

sudo vi index.js

const express = require('express')
const app = express()
const port = 3000

app.get('/', (req, res) => {
  res.send('Hello World!')
})

app.listen(port, () => {
  console.log(`Example app listening at http://localhost:${port}`)
})

이 코드 예제는 포트 3000에서 Nodejs 애플리케이션을 실행한 다음 hello world 메시지를 표시합니다.

동일한 디렉터리에 package.json 파일을 만듭니다.

sudo vi package.json

{
  "name": "atiq-app",
  "version": "1.0.0",
  "description": "A simple Node.js Express application",
  "main": "index.js",
  "scripts": {
    "start": "node index.js"
  },
  "dependencies": {
    "express": "^4.17.1"
  },
  "author": "Your Name",
  "license": "MIT"
}

그런 다음 실행하여 npm install필요한 노드 모듈을 설치합니다.

5. PM2를 설치하여 이를 백그라운드 작업으로 실행합니다.

PM2는 백그라운드에서 애플리케이션을 데몬으로 실행할 수 있게 해주는 Node.js 애플리케이션용 프로세스 관리자입니다. PM2로 Express 애플리케이션을 실행하려면 먼저 다음 명령을 사용하여 PM2를 설치해야 합니다.

에조익
npm install pm2 -g

그러면 PM2가 시스템 전체에 설치됩니다.

PM2가 설치되면 다음 명령을 사용하여 애플리케이션을 시작할 수 있습니다.

pm2 start index.js --name "atiq-app"

6. Letsencrypt로 SSL 설치

SSL의 경우 아래 명령을 실행하여 Certbot을 설치해야 합니다.

sudo snap install core; sudo snap refresh core
sudo snap install --classic certbot
sudo certbot --nginx

SSL 인증서를 항상 최신 상태로 유지하려면 크론 작업을 설정하여 자동으로 갱신할 수 있습니다. 이렇게 하려면 다음 명령을 실행하여 crontab 파일을 엽니다.

sudo crontab -e

그런 다음 SSL 갱신을 위해 정기적으로 실행하는 코드를 추가하십시오.

에조익
0 3 * * * sudo certbot renew >/dev/null 2>&1

결론

결론적으로 이 문서에서는 Letsencrypt를 통해 SSL을 사용하여 Ubuntu 22에서 NodeJS 애플리케이션을 실행하는 방법에 대한 포괄적인 가이드를 제공합니다. NodeJS 설치, 도메인 및 SSL 인증서 설정, HTTPS를 통해 실행되도록 애플리케이션 구성 등 필요한 모든 단계를 다룹니다. 기사에 설명된 지침을 따르면 개발자는 NodeJS 애플리케이션을 쉽게 보호하고 보안 연결을 통해 액세스할 수 있는지 확인할 수 있습니다. 또한 Letsencrypt를 사용하면 SSL 인증서를 쉽게 얻고 갱신할 수 있으므로 추가 비용 없이 애플리케이션을 보호하려는 개발자에게 탁월한 선택이 됩니다.

Comments

나의 재물운? 연애운은?

AI가 봐주는 내 사주팔자 - 운세박사

https://aifortunedoctor.com/

Category
실시간 인기글
Magazine
훈남/훈녀
 
 
 
상점
Facebook Twitter GooglePlus KakaoStory NaverBand