도메인: 각각의 장치의 주소를 식별하는 IP 주소가 기억하기 어렵기에 DNS 서버를 통해 도메인 주소를 IP주소로 해석하여 처리된다.
가비아에서 검색 후, 적절한 것을 구매. 1년 단위로 구매하게 된다.
**DNS → AWS를 위한 설정**
DNS 설정으로 들어가면 DNS 정보가 나온다. 오른쪽에 설정을 클릭한다.
여기에 내가 만든 AWS 인스턴스 IP 주소를 입력한다. 도메인 → 내 서버로 해석되게끔.
- 왼쪽 하단에 있는 레코드를 추가하고 타입은 A, 호스트는 www, 값/위치에 IP 주소
- 레코드를 하나 더 추가해서 타입은 A, 호스트는 @으로 적는다. @는 www를 적지 않아도 DNS로 접속할 수 있게 한다.
- TTL은 Time To Live의 약자로 연결시간이 일정시간 지나면 자동으로 끊기게 하는 것
성공한 모습
**에러**
**암호화/데이터 무결성/인증**
의 보호 계층을 제공해주는 기능을 한다.**적용 과정**
# snap이 최신 버전인지 확인하고 아니면 업데이트
$ sudo snap install core;
$ sudo snap refresh core;
# certbot 패키지 설치
$ sudo snap install --classic certbot
// 심볼릭 링크를 이용해 certbot 명령어를 사용할 수 있게 만든다.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
// certbot을 통해 인증서를 발급받는다. 성공적으로 발급 완료가 나와야 한다.
$ sudo certbot certonly --nginx
// default가 아니라도 사용중인 config 파일로 편집
$ sudo vim /etc/nginx/sites-available/default
// listen과 server 명을 작성하고 ssl_certificate 인증서 위치도 추가한다.
// 작성 후 nginx 재시작
$ sudo service nginx restart
도메인에 인증서를 등록하려고 했을 때,
sudo certbot --nginx -d 도메인 -d 도메인 등등으로 이어나간다.
질문들에 Yes를 하고, 등록할 도메인들을 적어주면 된다.
인증서 등록이 완료되면 아래와 같은 메시지가 나온다!
conf 파일에서 에러 발생
listen 포트번호 옆에 ; 를 붙여주지않아서 발생
nginx.service failed with result 'exit-code’ 에러
conf 파일에서 에러 발생
- ssl 인증서 위치
- `listen 443 default_server; # Note the lack of `ssl`` 으로 해결 [링크](https://serverfault.com/questions/844161/ssl-ngnix-no-ssl-certificate-is-defined-in-server-listening-on-ssl-port-whi)
도메인 www 주의
https://joonius.tistory.com/19
**아이피**
를 등록하여 연결하는 레코드**URL주소**
를 등록하여 연결하는 레코드$ sudo mkdir /var/www/html/dev
$ sudo mkdir /var/www/html/prod
$ sudo vim /var/www/html/dev/dev.html
$ sudo vim /var/www/html/prod/prod.html
# default 혹은 다른 config 파일
$ sudo vim /etc/nginx/sites-available/default
######### default 파일 내 #########
# dev 서브 도메인 서버 추가 (prod 서버도 같이 진행!)
server {
listen 443 ssl;
server_name dev.도메인명;
root /var/www/html/dev;
index dev.html;
location / {
try_files $uri $uri/ =404;
}
}
///// default 저장 후 종료
$ sudo vim service nginx restart
리다이렉션: 서버에서 클라이언트를 특정 서버(페이지)로 보내는 것을 리다이렉션
구글링 검색어: ip to domain redirect ngnix
/sites-available/default 파일에서 서버 블록을 작성해준다.
$ sudo vim /etc/nginx/sites-available/default
######### default 파일 내 #########
# HTTP Redirection
server {
listen 80;
server_name @@@ www.@@@;
root /var/www/html
index index.html index.htm index.php;
location / {
return 301 https://www.@@@$request_uri;
}
}
######### default 저장 후 종료 #########
$ sudo vim service nginx restart
server_name에는 나의 ip를 넣어주고 request_uri; 으로 return 시켜준다.