본문 바로가기

오라클 클라우드

오라클 클라우드에 스프링 프로젝트 배포하기 - HTTPS 접속하기

 

개발환경
- m1 macbook ventura
- java 17.0.6
- mysql 8.0.32
- maven 3.9.0

서버환경
- 오라클 클라우드
- os : centos 7.0
- java 17.0.6
- mysql 8.0.32
- maven 3.9.0
- git

 

1. nginx에서 발급

- nginx proxy 사이트 설정 파일에 자동으로 입력됨

sudo certbot --nginx

 

2. 사이트 설정 파일 확인

server {
    server_name 도메인_주소;

    location / {
        proxy_pass http://IP_주소:8080;
	proxy_set_header X-Real-IP $remote_addr;
	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
	proxy_set_header Host $http_host;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/도메인_주소/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/도메인_주소/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = 도메인_주소) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen 80;
    server_name 도메인_주소;
    return 404; # managed by Certbot
}

 

3. 관련 포트 열기

sudo iptables -I INPUT 1 -p tcp --dport 8080 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT
sudo iptables -I INPUT 1 -p tcp --dport 443 -j ACCEPT

 

4. 502 게이트 웨이 에러 나면 - SELinux의 httpd 관련 허용 설정하기

setsebool -P httpd_can_network_connect on

 

5. 인스턴스 포트 열기

- 맨 아래 All Protocols

 

6. nginx 테스트, 재시작

nginx -t
sudo service nginx restart

 

7. 접속완료

- 'https://도메인' 으로 접속

- 80포트로 자동 접속, 8080 붙일 필요 없음