Hyunseok
프로그래밍/개인홈페이지 미니 서버를 만들어보자 - Nginx > Wireguard에서 정보가져오기
2023. 1. 11. 23:30

wireguard가 엄청나게 많은... 눈물을 가져다줬지만

 

이번 편은 비교적 간단하게 준다 

 

 

VPN클라이언트 쪽에 테스트용 nginx설치

일단 wireguard에 접속한 클라이언트에 nginx를 깔아준다 

yum install nginx

물론 docker로 픽하고 올려도 괜찮다

 

그리고 혹시 모르니 포트도 열어주자

클라이언트의 포트개방

firewall-cmd --permanent --zone=public --add-port=80/tcp

아, 아마 설치하고 난 뒤에는 실행이 안되어있을 테니 실행도 해주고 ip를 확인해 두자

클라이언트 쪽 nginx 시작, ip 확인

systemctl start nginx
ifconfig 
## ifconfig치면 제일마지막 혹은 인터페이스이름이 wg0 인 항목의 inet을 기억해두자
wg0: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1420
        inet x.0.0.1  netmask 255.255.255.0

 

이 정도만 하면.. 대충 nginx기본페이지가 올라가 있으니 클라이언트 쪽은 이대로 놔두고

 

inet만 잘 메모해 두자

 

이제 wireguard의 서버에다가 또 nginx를 깔아주고 포트를 열자 

 

그리고 서버에서는 클라이언트로 신호를 받아오게끔 conf파일을 설정해 보자

 

VPN서버 쪽의 nginx의 conf파일 설정

cd /etc/nginx/
vi nginx.conf

### nginx.conf

user nginx;
worker_processes  auto;
error_log  /var/log/nginx/error.log warn;
pid        /var/run/nginx.pid;
events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    upstream test {
        server x.0.0.1;
    }

    server {
        listen 80;
        location / {
            proxy_pass         http://test/;
            proxy_set_header Host $host;
            proxy_set_header X-Real-IP $remote_addr;
        }
    }
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    keepalive_timeout  65;
}

 

기본 설정에서 별로 건들일건 없고.

upstream으로 server를 아까 메모해 둔 inet 주소로 바꿔준다

 

그리고 server부분은 그대로 가져가서 붙여 넣기하고 :wq로 저장하고 나온다 

 

그러면 아까 포트도열었고 설치도 끝났으니.. 이제 실행해서 확인해 보자

 

서버 쪽 nginx 저장 후 실행

systemctl restart nginx
systemctl enable nginx

 

그러고 나서 브라우저로 서버의 공개아이피 혹은 도메인으로 냅다 들어가 보자 그러면..

 

난 미리 client의 html파일을 수정해놨다

짜잔! 서버의 아이피 + 기본 80 포트로 요청을 했는데 proxy서버의 x.0.0.1:80으로 연결되었다

 

이렇게 연동이 다 끝났다..

 

이제 프론트페이지 다시 만들고 백엔드도 리팩터링 한 뒤에 본격적으로 서버에 파일을 올려서 운영해 보자 

 

아직 프론트페이지는 리액트로 다시 만들고있는중이고 .. 백엔드도 프론트 다시 만든 결과물 보니, 그리고 예전코드들도 보기 싫으니.. 새로 짜야한다

 

한 2주 정도면 다 짜지 않을까 싶다

 

이제 2주 동안은.. 리액트/스프링부트의 환상의 콜라보레이션의 글이 올라올 예정이다 

 

여하튼 정말 재밌었다 이 맛에 서버 들여서 만드나 보다 


프로그래밍/개인홈페이지의 다른 글