nginx를 사용하여 도메인, https를 구성
도메인 발급
도메인 발급 업체를 통해 도메인을 발급합니다.
Nginx 설치
위 링크를 참고하여 Nginx를 설치합니다.
Nginx 설정
nginx 기본 설정을 제거합니다.
cd /etc/nginx
sudo rm ./sites-enabled/default
sudo rm ./sites-avilable/default
code server를 위한 설정을 만듭니다.
sudo vim ./sites-available/code-server.conf
다음을 입력 합니다.
server {
listen 80;
listen [::]:80;
server_name mydomain.com; # 발급받은 도메인
location / {
proxy_pass http://localhost:8080/; # config.yaml로 설정한 서버의 주소
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
방금 작성한 설정을 활성화 합니다.
cd /etc/nginx
sudo ln -s /etc/nginx/sites-available/code-server.conf /etc/nginx/sites-enabled/code-server.conf
nginx 설정을 로드합니다.
sudo service nginx reload
브라우저를 통해 자신의 도메인에 접속하면 code server를 사용할 수 있습니다.
인증서 발급
다음 링크를 참고해서 인증서를 발급받습니다.
Https 설정
/etc/nginx/sites-enabled/code-server.conf/
를 다음처럼 변경합니다.
server {
listen [::]:443 ssl;
listen 443 ssl;
ssl_certificate 인증서 경로;
ssl_certificate_key 인증서 키 경로;
server_name mydomain.com; # 발급받은 도메인
location / {
proxy_pass http://localhost:8080/; # config.yaml로 설정한 서버의 주소
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
server {
if ($host = mydomain.com) { # 발급받은 도메인
return 301 https://$host$request_uri;
}
listen 80;
listen [::]:80;
server_name mydomain.com; # 발급받은 도메인
return 404;
}
nginx 설정을 로드합니다.
sudo service nginx reload