도메인, 서브도메인의 https와 파일적용이 안 되는 등 문제가 많을 수 있다.
2021/02/08 - [백엔드] - [ubuntu]nginx let's encrypt로 https적용
특히 이걸 따라했다면,
하나의 도메인은 상관 없지만 서브도메인이면 좀 문제가 있음을 알 수 있다.
하나는 https가 잘 되지만 서브도메인은 https가 되는데 해당 내용이 안 보인다던가
하나는 https도 다 잘 되는데 그 안의 index.php나 index.html 내용이 제대로 뜨지 않음이 보일 수 있다.
그럼 같이 뒤엎어보자.
일단 다들 접속하려는 도메인/~.pem파일을 다뤘다는 건 잘 알 것 같다.
'jang.shop/fullchain.pem;' 이런 식으로!
$ sudo certbot revoke --cert-path /etc/letsencrypt/archive/${YOUR_DOMAIN}/cert1.pem
$ sudo service nginx restart
만약 도메인이 jang.shop이라면,
${YOUR_DOMAIN} 대신 jang.shop을 넣으면 된다.
만약 restart했는데 에러가 났다면,
삭제하려는 도메인의 pem이 사용되고 있을 확률이 높다.
sites-available 안의 내용물에서 pem이 사용되고 있는지 확인해보면 된다.
sudo certbot revoke~로
발급받은 pem 파일을 그냥 다 지워준다.
*아래는 선택*
$sudo ufw status
inactive
sudo ufw enable
sudo ufw default deny
And I then do:
sudo iptables -L
sudo ufw status
sudo ufw allow 'Nginx Full'
sudo ufw delete allow 'Nginx HTTP'
sudo ufw allow 'OpenSSH'
**여기부터 시작**
만약 pem파일의 cert를 다 삭제했다면,
sudo certbot certonly --nginx -d [원하는 서브도메인 또는 도메인 ex)dev.jang.shop]
으로 발급 받아준다.
/etc/nginx/sites-available$ ll
total 24
drwxr-xr-x 2 root root 4096 Feb 5 17:05 ./
drwxr-xr-x 8 root root 4096 Feb 5 17:04 ../
-rw-r--r-- 1 root root 529 Feb 5 17:05 casey-test.jang.shop
-rw-r--r-- 1 root root 489 Feb 5 17:03 dev.jang.shop
-rw-r--r-- 1 root root 594 Feb 5 17:00 jang.shop
-rw-r--r-- 1 root root 505 Feb 5 17:04 prod.jang.shop
나는 서브도메인을 3개를 만들어놨다.
그래서 sudo certbot ~ -d [도메인] 이 명령어를 총 4개 쳐줬다.
-> 서브 도메인이 3개고 도메인이 하나니까.
그 다음,
sites available에서 default를 없애되 다른 곳에 내용을 저장해두고,
저렇게 원하는 도메인의 설정파일을 만들어주었다.
dev를 예시로 보자.
/etc/nginx/sites-available/dev.jang.shop
server {
listen 80;
listen [::]:80;
root /var/www/dev.jang.shop/html;
index index.html index.htm;
server_name dev.jang.shop;
location / {
try_files $uri $uri/ =404;
}
listen [::]:443;
ssl on;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/dev.jang.shop/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/dev.jang.shop/privkey.pem;
}
그럼 안에 넣을 index.html을 구성하자.
ubuntu@111-111-123-111:/etc/nginx/sites-available$ cd /var/www
ubuntu@111-111-123-111:/var/www$ ls
casey-test.h3yon-bunjang.shop dev.jang.shop jang.shop html prod.jang.shop
ubuntu@111-111-123-111:/var/www$ cd dev.jang.shop/
ubuntu@111-111-123-111:/var/www/dev.jang.shop$ ls
html
ubuntu@111-111-123-111:/var/www/dev.jang.shop$ cd html
ubuntu@111-111-123-111:/var/www/dev.jang.shop/html$ ls
index.html
ubuntu@111-111-123-111:/var/www/dev.jang.shop/html$ sudo vi index.html
<html>
<head>
<title>Welcome to dev</title>
</head>
<body>
<h1>Success! The dev.jang.shop server block is working!</h1>
</body>
</html>
그럼 이제 nginx 서버를 재시작해준다.
sudo ln -sf /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/mysite.conf
이것도 해주어야 한다.
ubuntu@111-111-123-111$ sudo service nginx restart
'IT' 카테고리의 다른 글
[AWS EC2]서버 시간 재설정 (0) | 2021.02.24 |
---|---|
[Intellij] 인텔리제이 테마 후기 및 바꾸기 (0) | 2021.02.16 |
[source tree]소스트리 password required (0) | 2021.02.12 |
[Intellij]인텔리제이로 ERD 확인하기 (0) | 2021.02.08 |
Git 푸시하기 (0) | 2021.01.27 |