개발 팁
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 포트도 연결 되어 있나 확인할것.