yona를 playframework 단독으로 사용하고 있었는데 nginx와의 연동 및 https 적용을 위해서 찾아보던 중
nginx의 reverse proxy를 이용하여 서비스 제공을 할 수 있다고 하여 찾아보기 시작
reverse proxy에 대해 잘 설명해 놓은 블로그
- https://whatisthenext.tistory.com/123
여기서 중요한 점은 proxy_pass http://서버ip:9000/; 으로 nginx 서버에 / 요청이 오면 proxy_pass에 설정된 정보로
호출하여 전달한다는 것이다.
- 최종적으로 설정한 정보
server {
listen 80;
server_name 서버ip;
return 301 $scheme://서버domain$request_uri;
}
server {
listen 443;
server_name 서버domain;
ssl on;
ssl_certificate /root/security/ssl/cert.pem;
ssl_certificate_key /root/security/ssl/key.pem;
ssl_session_timeout 20m;
ssl_protocols TLSv2 TLSv3;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location / {
#proxy_redirect off;
proxy_buffering off;
#proxy_pass_header Server;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://서버ip:9000/;
#proxy_redirect http://서버ip:9000 https://서버도메인;
proxy_http_version 1.1;
}
}
- nginx에서 jenkins와 reverse proxy로 연결하는 방법
- nginx에서 ssl 적용하는 방법
https://www.lesstif.com/pages/viewpage.action?pageId=27984443
- nginx에서 http요청인 경우 https로 redirect 시키는 방법
https://serverfault.com/questions/629045/nginx-redirect-ip-address-to-domain-name/629153
- yona에서 proxy 적용관련 참고