Nginx 웹서버에 자체인증서 적용하기

NPM서버와 웹서버를 별도로 운영할경우

도메인체크를 하는 경우 프록시된 도메인은 https인데 내부도메인은 http이기때문에 에러가 발생할 수 있습니다.

그누보드의 경우 “URL에 타 도메인을 지정할 수 없습니다.” 라고 메세지를 보여줍니다.

특히 리버스프록시를 하여 SSL을 사용할 때 테마가 깨지는 경우 도메인 주소를 고정하기위해

그누보드의 config.php의

Define(‘G5_DOMAIN’, ”);

Define(‘G5_HTTPS_DOMAIN’, ”);

라인을 수정한경우 빈번하게 발생합니다.

해결하기위해서는 Check URL라인을 수정해도되겠지만 보안상의 문제가 생길수 있고

letsencrypt인증서를 쓰자니 3개월에 한번씩 갱신하는데 npm에서 하는거로도 충분히 귀찮습니다ㅜㅜ

그러니 자체인증서로 해결하는것을 추천드립니다.

유효기간 10년짜리면 신경쓸일이나 있을까요? 푸헤

———————–

서버에 Openssl을 설치한뒤에 아래 코드를 실행합니다.

openssl req -x509 -nodes -days 3650 -newkey rsa:2048 -keyout /etc/nginx/ssl/nginx.key -out /etc/nginx/ssl/nginx.crt

Openssl을 활용 자체인증서를 생성 -days 의 최대값은 99999 대략 270년정도의 유효기간을 가진 인증서를 만들 수 있습니다.

생성과정에서 common name을 입력하는 부분에서 와일드카드도 사용가능합니다.

1개의 서버컴퓨터에 여러개의 웹사이트를 운영할경우 유용합니다.

이후 nginx에서 서버설정을 변경해주면 끝

수정하는것은 포트 80을 443으로 바꾸는것 -> 최신의 nginx는 “443 ssl”로 작성해야 합니다.

그리고 생성된 인증서를 등록하는것 뿐입니다.

여기까지 작업이 끝나면 NPM에서 기존의 ip:80번으로 등록해두었던것을 https ip:443으로 변경해주시면 

잘 연결되는것을 볼 수 있습니다. 

기존의 80포트를 쓰셔도 괜찮으나 보안을 위해서라면 요정도 작업은 해주는게 좋지않을까요? 하핫


게시됨

카테고리

작성자

태그:

댓글

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다