๋ชฉ์ฐจ
๋ฆฌ๋ ์ค์์ Mattermost๋ฅผ HTTPS(SSL)๋ก ์ด์ํ๋ ๋ฐฉ๋ฒ
๋ฆฌ๋ ์ค ํ๊ฒฝ์์ Slack์ ๋์์ผ๋ก ์๋ฆฌ์ก๊ณ ์๋ Mattermost๋ฅผ ์ค์นํ๊ณ HTTPS(SSL) ๋ชจ๋๋ก ์ด์ํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํ๊ฒ ์ต๋๋ค. ์ด์ ๊ธ์์๋ Mattermost์ ๊ธฐ๋ณธ ์ค์น ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃจ์์ผ๋, ์ด๋ฒ์๋ HTTPS๋ก ๋ณด์์ ๊ฐํํ์ฌ Mattermost๋ฅผ ์ด์ํ๋ ๋ฐฉ๋ฒ์ ์์ธํ ์ค๋ช ๋๋ฆด ๊ฒ์ ๋๋ค. ํ์ฌ ์ ๋ Mattermost๋ฅผ HTTPS ๋ชจ๋๋ก ์ฑ๊ณต์ ์ผ๋ก ์ด์ ์ค์ ๋๋ค. ์ด๋ฒ ํฌ์คํ ์์๋ HTTPS ์ค์ ์ ์๋ฃํ Mattermost์ ์ง์ ์ ์ธ ์ค์ ๋ฐฉ๋ฒ์ ์๋ดํ๋ฉฐ, NGINX ํ๋ก์ ์ค์ ๋ถ๋ถ์ ๋ํด์๋ ์ถํ ์ฑ๊ณต ์ ๋ณ๋๋ก ์ค๋ช ๋๋ฆฌ๊ฒ ์ต๋๋ค.
1. ๋๋ฉ์ธ ๊ตฌ๋งค
Mattermost๋ฅผ HTTPS๋ก ์ด์ํ๊ธฐ ์ํด์๋ ๋๋ฉ์ธ์ด ํ์ํฉ๋๋ค. ๊ฐ์ธ์ ์ผ๋ก๋ ํธ์คํ .kr์์ ๋๋ฉ์ธ์ ๊ตฌ๋งคํ๊ณ ์์ผ๋ฉฐ, ๊ฐ๊ฒฉ์ด ์ ๋ ดํ๊ณ ์๋น์ค๊ฐ ์์ ์ ์ ๋๋ค. ๋๋ฉ์ธ์ ๊ตฌ๋งคํ ํ, ๋ค์ ๋จ๊ณ๋ฅผ ์งํํฉ๋๋ค.
2. certbot ์ค์น
HTTPS๋ฅผ ํ์ฑํํ๊ธฐ ์ํด ๋ฌด๋ฃ SSL ์ธ์ฆ์์ธ Let's Encrypt๋ฅผ ์ฌ์ฉํ ๊ณํ์ ๋๋ค. ์ด๋ฅผ ์ํด certbot์ด๋ผ๋ ํ๋ก๊ทธ๋จ์ ์ค์นํด์ผ ํฉ๋๋ค. certbot์ SSL ์ธ์ฆ์๋ฅผ ์๋์ผ๋ก ๋ฐ๊ธ๋ฐ๊ณ ๊ฐฑ์ ํด์ฃผ๋ ๋๊ตฌ์ ๋๋ค. ๋ค์ ๋ช ๋ น์ด๋ฅผ ํตํด certbot๊ณผ NGINX ํ๋ฌ๊ทธ์ธ์ ์ค์นํฉ๋๋ค:
sudo apt update
sudo apt install certbot python3-certbot-nginx
NGINX๋ ์ด ๊ณผ์ ์์ ํ์๋ ์๋์ง๋ง, ๊ถ๊ทน์ ์ผ๋ก NGINX๋ฅผ ์ฌ์ฉํด Mattermost๋ฅผ HTTPS๋ก ์ด์ํ ๊ณํ์ด๋ผ๋ฉด NGINX๋ ํจ๊ป ์ค์นํด ๋๋ ๊ฒ์ด ์ข์ต๋๋ค.
3. Mattermost HTTPS ์ค์
Mattermost๋ฅผ HTTP๋ก ์ฑ๊ณต์ ์ผ๋ก ์ค์นํ ํ, HTTPS ์ค์ ์ ์งํํด์ผ ํฉ๋๋ค. ์ด๋ฅผ ์ํด Mattermost์ ์์คํ ์ฝ์์ ์ ์ํ์ฌ ๋ค์ ์ค์ ์ ๋ณ๊ฒฝํฉ๋๋ค:
- Site URL ์ค์
System Console
์ ์ ์ํ ํ,ENVIRONMENT > Web Server
ํญ๋ชฉ์ผ๋ก ์ด๋ํฉ๋๋ค.Site URL
์https://[๊ตฌ๋งคํ๋๋ฉ์ธ]:443
์ผ๋ก ์ค์ ํฉ๋๋ค.
- Listen Address ์ค์
Listen Address
๋ฅผ:443
์ผ๋ก ๋ณ๊ฒฝํฉ๋๋ค.
- Forward port 80 to 443 ์ค์
Forward port 80 to 443
์true
๋ก ์ค์ ํฉ๋๋ค.
- Connection Security ์ค์
Connection Security
๋ฅผTLS
๋ก ์ค์ ํฉ๋๋ค.
- Use Let's Encrypt ์ค์
Use Let's Encrypt
๋ฅผtrue
๋ก ์ค์ ํฉ๋๋ค.
Save
๋ฒํผ์ ํด๋ฆญํ์ฌ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฅํฉ๋๋ค.
4. ํฌํธ ๋ฐ์ธ๋ฉ ๊ถํ ์ค์
Mattermost๊ฐ 1000๋ฒ๋ ์ดํ์ ํฌํธ์์ ์คํ๋ ์ ์๋๋ก ๊ถํ์ ๋ณ๊ฒฝํฉ๋๋ค. ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํด ํฌํธ ๋ฐ์ธ๋ฉ ๊ถํ์ ๋ถ์ฌํฉ๋๋ค:
sudo setcap cap_net_bind_service=+ep /opt/mattermost/bin/mattermost
์ด ๋ช ๋ น์ด๋ Mattermost๊ฐ 80๋ฒ ํฌํธ์ ๊ฐ์ ์ ์ํ ํฌํธ๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ๊ถํ์ ์ค์ ํฉ๋๋ค. ์ด ๊ณผ์ ์์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ ์์ผ๋ ์ฃผ์ ๊น๊ฒ ์งํํ์ธ์.
5. Mattermost ์๋น์ค ์ฌ์์
์ค์ ์ ๋ง์น ํ Mattermost ์๋น์ค๋ฅผ ์ฌ์์ํ๊ฑฐ๋ ์์ํฉ๋๋ค. ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ ๋ ฅํด Mattermost ์๋น์ค๋ฅผ ์ฌ์์ํฉ๋๋ค:
sudo systemctl restart mattermost
์ด ๋ช ๋ น์ด๋ฅผ ํตํด Mattermost๊ฐ ์๋กญ๊ฒ ์ค์ ๋ HTTPS ๋ชจ๋๋ก ์คํ๋ฉ๋๋ค. ๋ง์ฝ NGINX์์ ์ถฉ๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ๋ค๋ฉด, NGINX๋ฅผ ์ผ์์ ์ผ๋ก ์ค์งํ๊ณ ์๋ ์คํ์ ๋นํ์ฑํํด์ผ ํ ์ ์์ต๋๋ค.
6. NGINX ๊ด๋ จ ์ค์ (์ถ๊ฐ ์ ๋ณด)
Mattermost์ NGINX๊ฐ ์ถฉ๋ํ๋ ๊ฒฝ์ฐ, NGINX๋ฅผ ์ฌ์ฉํ์ง ์๋ ์ค์ ์ผ๋ก Mattermost๋ฅผ ์ด์ํ ์ ์์ต๋๋ค. NGINX๋ฅผ ๋นํ์ฑํํ๋ ค๋ฉด ๋ค์ ๋ช ๋ น์ด๋ฅผ ์ฌ์ฉํฉ๋๋ค:
sudo systemctl stop nginx
sudo systemctl disable nginx
๋ค๋ฅธ ์น์ฌ์ดํธ์ ํจ๊ป ์ด์ํด์ผ ํ๋ ๊ฒฝ์ฐ, HTTP๋ก ์ด์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. NGINX ํ๋ก์ ์ค์ ์ ๋ํ ์ถ๊ฐ์ ์ธ ์ ๋ณด๋ ์ถํ ๋ณ๋์ ํฌ์คํ ์ ํตํด ์ ๊ณตํ ์์ ์ ๋๋ค.
๊ฒฐ๋ก
Mattermost๋ฅผ HTTPS ๋ชจ๋๋ก ์ค์ ํ๋ฉด ๋ฐ์ดํฐ ์ ์ก์ ๋ณด์์ ๊ฐํํ ์ ์์ผ๋ฉฐ, ์ธ๋ถ ๊ณต๊ฒฉ์ ๋ํ ๋ฐฉ์ด๋ ฅ์ ๋์ผ ์ ์์ต๋๋ค. ๋๋ฉ์ธ ๊ตฌ๋งค, certbot ์ค์น, Mattermost ์์คํ ์ค์ , ํฌํธ ๋ฐ์ธ๋ฉ ๊ถํ ์ค์ , ๊ทธ๋ฆฌ๊ณ ์๋น์ค ์ฌ์์๊น์ง์ ๊ณผ์ ์ ํตํด HTTPS ํ๊ฒฝ์ ์ฑ๊ณต์ ์ผ๋ก ๊ตฌ์ถํ ์ ์์ต๋๋ค. NGINX์์ ์ถฉ๋ ๋ฌธ์ ๋ ์ถ๊ฐ์ ์ธ ์ค์ ์ผ๋ก ํด๊ฒฐํ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ์ํ ์ ๋ณด๋ ๋ณ๋์ ํฌ์คํ ์์ ๋ค๋ฃฐ ์์ ์ ๋๋ค.
ํค์๋: Mattermost, HTTPS, SSL, certbot, Let's Encrypt, Ubuntu, NGINX, ํฌํธ ๋ฐ์ธ๋ฉ, ๋ฆฌ๋ ์ค, ๋ณด์ ์ค์
'Lect & Tip > Nginx & PHP 7.0' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
โ nginx woff mime type error ์ค์ ํด๊ฒฐ ๋ฐฉ๋ฒ Unexpected character in input: ์๋ฌ (0) | 2019.07.26 |
---|
๋๊ธ