Menu

메모용 개발 블로그

전체보기 > OS > Linux >

Nexus3 Nginx 역방향 프록시 구축

2022-02-08 00:58:30

Nexus3를 설치하는 과정은 다음 포스트를 참고하여 주시기 바랍니다.

이 글은 설치 후에 역방향 프록시를 설정해주는 부분에 대해서만 다룰 것 입니다.

그러므로 Nexus3에 관한 구축 방법은 아래 링크에 작성하였음.

https://devblog.lazyig.com/52/

또한 글에서 대부분의 사항을 제외하였고 Nexus3 세팅을 위해서 추가적으로 해야하는 것만 간단히 메모를 하였음.

기타 기본적인 Nginx 세팅이나 인증서에 관한 부분은 이 글에서 다루고 있지 않음.

본문

location 하단에 프록시 정보에 대한 헤더 정보를 덧붙여서 넘기도록 함.

location / {
    proxy_pass 내부_경로;
    proxy_set_header Host $host:$server_port;
    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 "https";
}

대용량의 파일을 전송하여야 하므로 server 하단에 업로드 파일 용량 제한을 설정하여야 함.

client_max_body_size 1G;

리버스 프록시를 정상적으로 세팅하고 위 사항만 작성한다면 정상적으로 동작할 것이다.

전체

server {
    server_name 도메인;

    location / {
        proxy_pass 내부_경로;
        proxy_set_header Host $host:$server_port;
        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 "https";
    }
    listen [::]:443 ssl; # managed by Certbot
    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

    # allow large uploads of files
    client_max_body_size 1G;
}
server {
    if ($host = nexus.igkim.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot


    listen 80;
    listen [::]:80;
    server_name 도메인;
    return 404; # managed by Certbot


}

managed by Certbot 주석이 달린 행은 certbot이 자동으로 생성한 코드임.