리눅스

 

sites-available/ 에 sample.kr  도메인명의 파일을 을 생성한다.

 

sites-available/sample.kr

# 백엔드 연결 (Tomcat)
upstream tomcat {
    ip_hash;
    server 127.0.0.1:8080;
}



# HTTPS 설정
server {
   
   
    server_name sample.kr www.sample.kr;

    client_max_body_size 50M;

	# 위험 확장자 요청 차단 (웹쉘 업로드 방지)
	location ~* \.(php|jsp|exe|sh|bat|pl|cgi)$ {
	    deny all;
	    return 403;
	}


    # 웹폰트 CORS 허용
    location ~* \.(eot|ttf|woff|woff2)$ {
        add_header Access-Control-Allow-Origin *;
    }

    # 모든 요청을 백엔드로 프록시
    location / {
        proxy_set_header Host $http_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_set_header X-NginX-Proxy true;
        proxy_pass http://tomcat;
        proxy_redirect off;
        charset utf-8;
    }


}

 

 

심볼링 링크 

sudo ln -s /etc/nginx/sites-available/sample.kr /etc/nginx/sites-enabled/


 

✅ 설정 적용 순서

  1. 설정 테스트:

    sudo nginx -t
    

     

     

certbot 적용

https://certbot.eff.org/instructions?ws=nginx&os=snap

 

 

certbot 를 적용하면 자동으로 다음과 같이 변경 처리 된다.

 

# 백엔드 연결 (Tomcat)
upstream tomcat {
    ip_hash;
    server 127.0.0.1:8080;
}



# HTTPS 설정
server {
   
   
    server_name sample.kr www.sample.kr;

    client_max_body_size 50M;

	# 위험 확장자 요청 차단 (웹쉘 업로드 방지)
	location ~* \.(php|jsp|exe|sh|bat|pl|cgi)$ {
	    deny all;
	    return 403;
	}


    # 웹폰트 CORS 허용
    location ~* \.(eot|ttf|woff|woff2)$ {
        add_header Access-Control-Allow-Origin *;
    }

    # 모든 요청을 백엔드로 프록시
    location / {
        proxy_set_header Host $http_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_set_header X-NginX-Proxy true;
        proxy_pass http://tomcat;
        proxy_redirect off;
        charset utf-8;
    }




    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/sample.kr/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/sample.kr/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 = www.sample.kr) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    if ($host = sample.kr) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


   
   
    server_name sample.kr www.sample.kr;
    listen 80;
    return 404; # managed by Certbot




}

 

 

about author

PHRASE

Level 60  라이트

사람들은 서로 자기 의견이 옳고 남의 의견은 옳지 않다고 한다. 또 남이 진리라 하는 것을 자기는 아니라고 우겨댄다. -법구경

댓글 ( 0)

댓글 남기기

작성
  •    
  •    
  •  

리눅스 목록    more