티스토리 뷰

nginx를 이용하여 멀티 도메인 설정과 Redirect 시 Host를 유지하는 방법에 대해 간단하게 알아보겠습니다.

 


nginx.conf

worker_processes auto;

http {

    ...생략...
	
    # main upstream
	upstream main {
		ip_hash;
		server 127.0.0.1:8080 weight=1 max_fails=3 fail_timeout=60s;
	}
    
    # sub upstream
    upstream sub {
		ip_hash;
		server 127.0.0.1:8081 weight=1 max_fails=3 fail_timeout=60s;
	}
	
    # main server
	server {
		listen 80;
		server_name www.mydomain.main.com;
		access_log  /var/log/nginx/main.log;
		keepalive_timeout 60s;
		
		location / {
			proxy_pass http://main;
			proxy_set_header Host $host; # host 지정
			proxy_set_header X-Forwarded-For $remote_addr;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_redirect off;
		}
	}
	
	# sub server
	server {
		listen 80;
		server_name www.mydomain.sub.com;
		access_log  /var/log/nginx/sub.log;
		keepalive_timeout 60s;
		
		location / {
			proxy_pass http://sub;
			proxy_set_header Host $host; # host 지정
			proxy_set_header X-Forwarded-For $remote_addr;
			proxy_set_header X-Real-IP $remote_addr;
			proxy_redirect off;
		}
	}

}
  • proxy_set_header Host 값을 $host 로 입력하여 redirect 시 접근한 도메인을 유지할 수 있습니다.



감사합니다.

최근에 올라온 글
Total
Today
Yesterday