Nginx를 사용하여 도메인을 포트 번호로 리디렉션하고 SSL을 설정하는 방법은 무엇인가요?

4182 단어 httpsnginxawsssl

Nginx 구성 설정



Nginx 설치




sudo apt update
sudo apt install nginx


도메인과 포트 연결



nano 또는 vim에서 이 파일 열기/etc/nginx/nginx.conf
http{
  server{
    listen 80;
    server_name DOAMIN.com www.DOMAIN.com;
    location / {
      proxy_set_header X-Real-IP $remote_addr;
      proxy_set_header Host $http_host;
      proxy_pass http://<IP_ADDRESS>;
    }
  }
}


nginx.conf를 업데이트한 후 이 명령을 적용합니다.
nginx.conf 테스트sudo nginx -tnginx 서비스 다시 시작sudo systemctl restart nginx 또는 sudo service nginx restartnginx 상태 확인sudo systemctl status nginx 또는 sudo service nginx status

certbot에서 SSL 인증서 발급



참조: https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/

인증서봇 설치




sudo apt-get update
sudo apt-get install certbot
sudo apt-get install python-certbot-nginx


SSL/TLS 인증서 받기


sudo certbot --nginx -d example.com -d www.example.com
nginx.conf에서 https에 필요한 수정을 처리합니다.

Let’s Encrypt 인증서 자동 갱신


crontab -e0 12 * * * /usr/bin/certbot renew --quiet

nginx에서 수동으로 SSL 및 https 구성 설정




http{
  server{
    listen 80;
    server_name spotcodes.in www.spotcodes.in;
    return 301 https://$server_name$request_uri;
  }

  server {
    listen 443 ssl;
    server_name spotcodes.in www.spotcodes.in;

    ssl_certificate /etc/letsencrypt/live/spotcodes.in/cert.pem;
    ssl_certificate_key /etc/letsencrypt/live/spotcodes.in/privkey.pem;

    location / {
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header Host $http_host;
    proxy_pass http://3.83.202.107:2001;
    }
  }
}



SSL 인증서 설치 테스트



https://www.geocerts.com/ssl-checker

유용한 링크 및 크레딧


  • https://www.nginx.com/blog/using-free-ssltls-certificates-from-lets-encrypt-with-nginx/#auto-renewal
  • https://www.digitalocean.com/community/tutorials/how-to-secure-nginx-with-let-s-encrypt-on-ubuntu-18-04
  • https://levelup.gitconnected.com/how-to-install-ssl-certificate-for-nginx-server-in-amazon-linux-2986f51371fb

  • 좋은 웹페이지 즐겨찾기