본문 바로가기

WEB/NGINX

HTTP to HTTPS Redirect


# 테스트 환경

  • OS : Oracle Linux Server release 8.6
  • JDK : 1.8
  • WebLogic ver. : 12cR2
  • Nginx ver. : 1.14.1

 

블로그에 작성되어 있는 nginx ssl 설정 / nginx&WAS 연동 글을 종합하여 작성

 

1. SSL 인증서 세팅

https://tjddus97.tistory.com/10

 

nginx ssl 설정

# 테스트 환경OS : Oracle Linux Server release 8.6JDK : Oracle jdk1.8.0_321nginx ver. : 1.14.1 1. openssl을 이용한 인증서 생성① ssl 디렉터리에 root key 생성openssl genrsa -aes256 -out root.key 4096root key password : ... ② roo

tjddus97.tistory.com

 

위의 글을 참고하여 SSL 인증서 준비

 

2. nginx.conf 파일 수정

80 → 443 즉, http to https Redirect를 설정하기 위해 nginx.conf 파일 수정

 

http {
	...
	...
    
	upstream weblogic {
		server 192.168.56.230:8002;
		server 192.168.56.231:8002;
	}

	server {
		listen       443;
		server_name  www.tjddus97.or.kr;
		root         /usr/share/nginx/html;

		ssl on;
		ssl_certificate /etc/nginx/ssl/root.pem;
		ssl_certificate_key /etc/nginx/ssl/private.pem;
		ssl_prefer_server_ciphers on;


		location / {
			proxy_pass         http://weblogic;
			proxy_http_version 1.1;
			proxy_redirect     off;
			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-Host $server_name;
	}
        
	server {
		listen 80;
		server_name www.tjddus97.or.kr;
		return 301 https://$host$request_uri;
	}
        
}

 

upstream

nginx&WAS 연동 글과 동일하게 Round Robin 방식 사용하여 WebLogic Server 2개를 연동

 

http 통신 server {}

80 port를 사용하며 server_name은 www.tjddus97.or.kr  이라는 도메인 네임을 사용

 

해당 port 및 도메인 네임을 통해 요청이 들어오게 되면 HTTP Status Code 중 하나인 301 즉, 영구이동을 시켜주게 됨

→ 들어온 요청에 대한 페이지가 영구 이전되었기 때문에 https://$host$request_uri 주소로 return

 

https 통신 server {}

https://$host$requrest_uri 로 redirect 된 요청을 처리하는 server 컨텍스트

 

ssl 통신을 위해 443 port를 사용하며 기존과 동일하게 Round Robin 방식을 사용하는 weblogic upstream의 서버들에 요청을 proxy

 

 

3. TEST

http://www.tjddus97.or.kr:80  호출

 

 

 

https://www.tjddus97.or.kr:443  으로 redirect 된 것 확인 가능

'WEB > NGINX' 카테고리의 다른 글

NGINX Health Check  (0) 2024.10.30
Nginx 보안 취약점  (0) 2024.08.22
13: Permission denied while connecting to upstream  (0) 2024.07.30
nginx & WAS 연동  (0) 2024.07.30
nginx Load Balancing  (0) 2024.07.29