개발 팁

nginx 설치, ssh 인증서 발급 및 설정

북치던노인 2019. 10. 17. 03:11

nginx 설치

1. 설치

sudo apt-get install nginx

2. 설정파일 오류 검사

nginx.conf 에서 server_tokens off; 주석 해제

sites-available에 default를 복사한 파일을 만들고 수정

        #root /var/www/html;

        # Add index.php to the list if you are using PHP
        index index.html index.htm index.nginx-debian.html;

        server_name localhost;

        location / {
                # First attempt to serve request as file, then
                # as directory, then fall back to displaying a 404.
                # try_files $uri $uri/ =404;
                proxy_pass http://localhost:8080;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
                proxy_set_header Host $http_host;
        }

설정파일 오류 검사

sudo nginx -t

3. 시작

sudo /etc/init.d/nginx start

certbot 설치 및 인증서 발급

1. 자신의 서버 환경 - 리눅스 버전 확인

lsb_release -a

이 사이트에서 다음 스텝을 따른다 --> https://certbot.eff.org/lets-encrypt/debianjessie-nginx

2. nginx 설정파일 수정

80 요청은 443으로 리다이렉트

server {
        listen 80 default_server;
        return 301 https://$host$request_uri;
}

443 관련 블록의 주석을 해제하고 아래 내용 추가

ssl_certificate /etc/letsencrypt/live/[ 내 도메인 ]/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/[ 내 도메인 ]/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot


add_header Strict-Transport-Security "max-age=2592000; includeSubDomains; preload"; # HSTS

포트 포워딩 설정이 있다면 443 포트도 연결 되어 있나 확인할것.