- 6
- xnview
- 조회 수 1043
안녕하세요
요즘 궁금거리 들고 부짝 자주 찾아오는 초보 회원 인사드립니다 (_ _)
'맛스타' 님과 '네모' 회원님 덕에 역방향 프록시를 구현하는데 결국 성공하였습니다
이후, 기세등등하게 그렇게 하고싶었던 (도메인:숫자) 포트를 삭제 시키기 위해 세팅을 하셨으나
ㅠㅠ... 500에러라고 안내가 되네요..
우선 제가 역방향 프록시를 원하는 이유와 과정 입니다..
1. 웹서버 연습을 위해 (ESXi) Windows Server 2016 Datacenter 를 설치 + 연습하여, 윈도우 환경에서 IIS와 SMTP 구현을 하였습니다
2. 여기에 Let's Encrypt SSL을 적용하여, HTTPS 구현에 어렵게 성공하였습니다
3. 그다음 '맛스타'님이 인도해주신 XPEnology 가르침을 따라갔습니다
( XPEnology가 현재는 많은 제약이 생겼고 불안정한 OS 인 관계로 정품 구입을 위해 사전 연습용 OS로 둘려보고 있는중에)
4. XPEnology 에도 Let's Encrypt SSL 을 적용할 수 있다는 사실을 알게되었습니다
5. 그런데, 당시 Let's Encrypt SSL 정책은 1도메인 1SSL 매칭이었고 와일드 카드(2차 도메인?) 도 지원하지 않았습니다
6. 그래서 웹서버는 80 포트와 SSL 조합으로 HTTPS 연결을 하여 사용하였고, XPEnology는 일반 HTTP에 :1234 라는 포트를 붙여 사용하였습니다
7. Let's Encrypt SSL에서 와일드 카드 지원을 하기 시작하였지만, 여전히 뒤에 붙은 포트번호가 있으면 사용이 불가했기에, XPEnology를 SSL을 더한 HTTPS로 접속하기 위해 역방향 프록시를 찾게됩니다
8. 겨우 역방향 프록시를 설치하였고, nas.studyforus.com:1234 와 같은 형태의 포트가 더해진 형태를 nas.studyforus.com 의 깔끔한 형태로 만들기 위해 http://studyforus.tistory.com/195를 정독했습니다
(문제는 정독을 해도 매번 흘리거나 빼먹는게 발생했다는..ㅠㅠ)
9. 그런데 이번에는 500에러를 보여주시네요
제가 진행한 방법입니다.
1. 일단 여기까지 겨우 기어올라옴 ㅠ
https://studyforus.com/help/371127
2. 현재는 2차 도메인과 포트포워딩을 이용하여 XPEnology 사용
(도메인 구입후 DDNS 서비스를 이용하여 개인서버로 DNS 연결 > 이후 사설 공유기에서 Xpenology에 7940 이라는 포트를 넘겨 주도록 세팅)
<도메인 : 포트 접속 > 포트포워딩 (7940) > Xpenology 접속 > 의 형태
3. ('맛스타' 님과 '네모'님께 감사한 마음 가득안고) 기분좋고 기세등등 세팅시작
4. 새 사이트를 만드는데 이름,실제 경로는 중요하지 않다는 맛스타님의 말씀에 'ReverseProxy' 라는 폴더를 만들어 경로를 잡아줌
5. 아래와 같이 설정하고, 바인딩 부분에 서버의 IP를 잡아줌 (사실 서버 IP말고 입력할수있는게 없었...)
- 서버 IP : 192.168.0.120
.
6. '확인'을 누루고 'URL 재작성' > '규칙추가' > '역방향 프록시' 를 선택해줌
7. 아래와 같이 설정함
- 서버 IP : 192.168.0.120
- NAS IP : 192.168.0.26:5000
8. 두근거리는 마음으로, 도메인 연결
9. OTL
10. 뭐가 문제인가 싶어 사설공유기의 포트포워딩 설정도 삭제하고, 로컬 ip 경로도 접속해보니 로컬 ip는 잘됨 ㅠㅠ
조언부탁드립니다 ㅠㅠ
댓글 6
'맛스타'님, 말씀 감사드립니다
조언해주신 내용을 이해하고 요약하자면
▼ 현재 상태 : 아래와 같기 때문에 네트워크망 자체가 분리되어 있어 역방향 프록시가 작동하지 않는다.
[1. 공유기]
→ [2. 윈도우 서버]
→ [3. NAS]
▼ 권장 상태 : 아래와 같이 상위에서 역방향 프록시를 컨트롤 해줄수 있는 윈도우 서버가 위치하고 있어야 한다
[1. 공유기]
→ [2. 윈도우 서버]
→→ [2-1. NAS]
※ 그러나 '권장 상태' 로 환경을 만들경우 NAS 사용이나 컨트롤 적인 측면에 불편함이 발생 할 수 있으며,
가상화를 사용하여 사용할 경우 설정이 가능하다
위와 같이 이해하였습니다
제가 현재 VMware ESXi 의 가상화를 통하여 윈도우서버와 NAS를 올려놨습니다
▽ 현재 상태
[1. 공유기]
→ VMware ESXi
→→ 2. 윈도우 서버
→→ 3. NAS
▽ 희망 상태
역방향 프록시를 꼭 하고 싶습니다 ㅠㅠ
그래서 VMware ESXi 의 네트워크 세팅을 캡쳐 해 보았는데, 아래와 같습니다
여기서 어떤 세팅을 해줘야 할까요 ?..
역방향 프록시 찾아 가상화 네트워크 까지 찾아헤매고 있네요 ㅠㅠ;
조언 부탁드립니다
현재 상태와 권장 상태를 정확히 이해 하셨습니다.
지금보지 나스가 물리적인 장치라 따로 물려있을 줄 알았는데 가상화가 가능하네요?
그렇다면 윈도우 서버의 하위단에 나스를 가상화 시키는게 좋습니다. 윈도우에는 hyper-v라는 괜찮은 가상화 프로그램이 기본 포함되어 있습니다.
현재 상태라면 VMware ESXi 가 설치된 pc에서 iis를 설치해서 역방향 프록시를 설정하시면 됩니다. 그렇게 된다면 굳이 윈도우 서버 os를 따로 설치하실 필요도 없습니다.
'맛스타' 님 귀찮으실텐데.. 이런 초보의 궁금증에 항상 친절한 가르침 주셔서 감사드립니다
말씀해주신 내용은 잘 이해되고 있으며, 어떤 방향을 가르쳐 주셨는지 짐작이 되고있습니다
제가 거쳐왔던 다양한 경험에서 현재에 정착하기까지 많은 시행착오와 맛스타님의 가르침이 있었습니다
그 시행착오를 바탕으로 추후 방향을 의논드리고 싶습니다
(다 아시는 내용일텐데.. 제 의식의 흐름을 말씀드리고자 적어봤습니다 ^^;)
1. 원래는 Windows Server 2016에 Hyepr-V를 올려 사용했습니다
- 그러다 XPEnology의 Hyepr-V 설치에 제약이 생겼습니다
- (Hyper-V 환경 지원이 언제 다시 될지 모르는상황이라) 6.x 버전대의 DSM을 사용하려면 Hyper-V에서는 불가능 했습니다
2. VMware Workstation을 검토해 봤습니다
- 제 수준에는 Workstation이 가장 마음에 들었으나 에뮬레이팅? 방식으로 전개되는 Workstation은 자원 소모가 매우 커서 제 개인서버 사양으로는 무리가 되는 경우가 잦았습니다
3. (당시) 모든걸 만족시킬수 있고 유사환경에서 학습된 지식을 활용할 수 있는 ESXi로 넘어갔습니다
- VMware ESXi는 VMware Workstation 과 다른 전가상화 (베어메탈) 방식의 가상화 입니다
- 비유하자면 메인보드의 CMOS 같다고나 해야할까요..
그래서 Windows 와 DSM 그리고 기타 OS를 모두 적극적으로 활용해보고 싶어 ESXi를 무작정 파고들었습니다
4. 문제는 Hyper-V는 중첩가상화를 지원하지 않습니다; ㅠ
- 때문에 조언해주신 아래 말씀은 제가 구현하기가 현재로서는 어려울것 같습니다 ㅠㅠ
(현재 상태라면 VMware ESXi 가 설치된 pc에서 iis를 설치해서 역방향 프록시를 설정하시면 됩니다. 그렇게 된다면 굳이 윈도우 서버 os를 따로 설치하실 필요도 없습니다.)
▼ 여기서 부터 의논드리고 싶은 내용입니다 ㅎㅎ ^^;
5. 이 모든게 SSL (HTTP) 때문입니다 ㅠㅠ
5-1) 제가 역방향 프록시를 사용하고 싶어하는 이유는 IIS 와 xpenology 에서 SSL을 적용하여 HTTPS 환경을 만들고 싶었기 때문입니다
5-2) IIS 가 중요하다보니 IIS 에 80포트를 할당하고 xpenology에 1234 라는 특정 포트를 붙였습니다
nas.studyforus.com:1234 같은 형태로 사용중에 xpenology에도 SSL을 적용하려니, 뒤에 포트가 문제였습니다
5-3) 그래서 역방향 프록시를 사용하면 nas.studyforus.com 뒤에 붙은 :1234를 떼어낼수 있고, SSL도 설치하여 HTTPS://nas... 이 가능하겠다 싶어 역방향 프록시를 원하게 되었습니다
6. 그런데, 조언해주신 대로 네크워크 구조적인 환경적 문제가 있다면 다른 방안으로 접근하면 어떨까 합니다
6-1) 지금껏 가르쳐 주신 내용을 기반으로 역산해보면, 역방향 프록시는 기존의 경로를 숨기고 원하는 주소를 표시하는 기능을 하고 있습니다
6-2) 저는 네트워크가 분리된 IIS와 XPEnology에 모두 SSL을 사용하길 원하고 있습니다
그렇다면,
6-3) 80포트를 XPEnology 쪽에 배분할 경우, > 뒤에 포트를 소멸시킬수 있고 > SSL을 설치 할 수 있게됩니다
6-4) IIS 쪽에는 각각의 사이트마다 포트를 배분시키고 a.com:81, b.com:82, c.com:83 ... 와 같이 되겠죠 ^^;
6-5) 그다음 역방향 프록시를 통하여 이 포트를 가려버린다면, a.com, b.com, c.com 이 되니 SSL 설치에도 문제가 되지 않을까 싶습니다
그러면 결과적으로 IIS와 XPEnology 에서 모두 SSL을 구현할 수 있을것 같은데,
'맛스타' 님이 보시기엔 어떠신지 궁금합니다
하루 종일 붙잡고 있고 싶은데, 눈뜨면 출근이고 ; 테스트 하다보면 밤이네요 ㅎㅎ;;
조언 부탁드리겠습니다
읽어주셔서 감사드립니다 (^^)(_ _)
일단 가상화 장치는 어떤 것을 사용해도 무방하니 아무가니 사용하시면 됩니다.
Hyper-V를 말씀드린 이유는 기본적으로 제공되기 때문에 추가 설치가 안되는 편리함 때문이지 좋아서 추천하는 것은 아닙니다. 저는 개인적으로 VMWare를 좋아합니다.
지금 결국 나스를 개인 도메인으로 사용하도록 하고 거기에 ssl을 적용하고 싶다는 이야기 같습니다.
거기에 몇가지 알아둬야할 것이 있긴 합니다.
1. 나스가 물리적인 장치로 사용되는 환경이라면 (가상화가 아닌 물리적으로 하나의 기기를 사용하도록 세팅된 환경)
공유기에서 dmz 나 superdmz(twinIP) 기능을 이용해서 외부에서 접속시 나스로 접속하게 만들면 인증서 발급이 쉽습니다.
참고로 인증서는 192.168.0.90 과 같은 사설ip를 대상으로 발급이 되지 않기 때문입니다.
2. 만약 IIS와 penology를 모두 사용해야하는 경우라면 윈도우 서버에서 페놀로지를 가상화를 통해 연결되도록 하는것이 좋습니다.
단, 이때는 윈도우 서버가 공인ip를 사용해야 합니다.
3. 인증서가 있더라도 뒤에 포트 번호를 붙일 수 있습니다.
https://new.studyforus.com:8080 이렇게요.
4. https 뒤에 포트번호가 붙기 때문에 이럴땐 리버스 프록시 보다 웹 포워딩(리디렉션) 기능을 이용해서 단순히 포트가 달려있는 주소로 넘겨주는 방법도 있습니다.
일단 조금더 근본적으로 포트번호를 감추고 싶은 것인지, 아님 단순히 포트번호를 일일이 붙이는게 불편해서 줄이고 싶은 것인지를 먼저 생각해보시는 게 좋을 것 같습니다.
장문의 조언 감사드립니다
금일 퇴근후 또 도전할 주제가 생겨서 기분이 좋습니다
(기분 만큼 잘 안되는게 문제지만요..ㅠㅠ)
여러번에 걸친 많은 조언 다시한번 감사드립니다
퇴근후 모두가 잠든시간 다시한번 꼼꼼히 읽고 따라가보도록 하겠습니다!^^
이게 구조가 조금 잘못 되었습니다.
지금 컴퓨터 계층 구조를 보니 이런 구조일것 같군요.
공유기
ㄴ Windows Server
ㄴ 나스
이렇게 공유기에 윈도우 서버와 나스가 따로 따로 맞물려 있는 형태요. 맞나요?
역방향 프록시는 항상 상위 단에서 설정이 되어야 합니다.
해당 윈도우 서버를 통해 역방향 프록시를 사용하고자 한다면 이런 네트워크 계층 구조가 되어야 합니다.
공유기
ㄴ Windows Server
ㄴ NAS
즉, 윈도우 서버 아랫단에 나스가 설치되어야 하는데 이렇게 되려면 나스를 사용하는데 많은 애로사항이 있죠.
공유기 단에서 리버스 프록시를 설정하시거나 아님, 윈도우 서버에서 랜 포트를 하나 더 구성해서 NAS에 연결하시거나 하면 됩니다.
윈도우 서버를 통해 역방향 프록시를 사용하기 위해서는
공유기 대신에 윈도우 서버가 그 역할을 해야 합니다.
윈도우 서버
ㄴ NAS
형태가 되도록이요.
블로그의 내용은 물리적으로 다른, 각기 다른 랜선이 물려있는 경우에 대한 글이 아니라 윈도우 서버에서 운영되는 사이트를 다른 주소로 접속하도록 하기 위한 수단입니다.
즉, 윈도우 서버에서 역방향 프록시, 사이트 구성, 실 서비스 등이 모두 이루어지기 때문에 가능합니다.
만약, 나스를 hyper-V나 vmware 같은 툴로 가상환경에서 구축한다면 그 때는 역방향 프록시 설정이 가능합니다.
현재 상황에서 역방향 프록시 기능을 이용하고자 한다면 공유기에서 역방향 프록시 기능이 지원되는 고급 라우터를 사용하셔야 할것같습니다.