IP 테이블을 사용하여 라우터 뒤의 포트 포워딩을 하시겠습니까?

IP 테이블을 사용하여 라우터 뒤의 포트 포워딩을 하시겠습니까?

IP 테이블을 사용하여 라우터 뒤의 포트 포워딩이 가능합니까?

내 설정은 다음과 같습니다. 포트 80에서 작은 웹 사이트를 실행하는 Raspberry Pi와 포트 25565에서 Minecraft 서버를 실행하는 더 강력한 컴퓨터가 있습니다. 각 포트에 대한 요청을 받아 올바른 위치로 전달하도록 라우터를 설정했습니다. 하지만 Minecraft 서버에서 실행되는 Minecraft '웹사이트'(지도 등 포함)도 포트 80에 있습니다. myurl.com도 있습니다.

내 질문은: IP 테이블을 사용하여 mc.myurl.com:80을 Minecraft 서버 웹 사이트로 전달하고 myurl.com:80은 계속해서 Raspberry Pi로 이동할 수 있습니까? 어떻게 설정하나요?

방정식에서 Raspberry Pi를 제거하면 어떻게 되나요? 동일한 서버에서 mc.myurl.com을 :81로 전달하시겠습니까? (라우터에서 :81을 열어야 하나요?)

답변1

당신이 찾고 있는 것은역방향 프록시. 아파치는 그걸 할 수 있어역할하지만 더 잘 사용하는 것이 좋습니다엔진스더 가볍습니다.

80포트를 Raspberry Pi로 리디렉션 하고 mc.myurl.com다음과 같이 요청을 프록시하도록 Nginx를 설정합니다.

server {
  listen 80;
  server_name mc.myurl.com;

  location / {
    proxy_pass  http://my.mine.craft;
  }
}

Nginx를 참조하세요선적 서류 비치상세 사항은.

답변2

Apache2의 역방향 프록시 모듈을 사용할 수 있습니다. 이렇게 하면 mc 서버 호스트 이름으로 들어오는 요청이 LAN 내부에 있는 다른 http 서버로 리디렉션됩니다. 방화벽에 의존하는 것이 더 간단한 아이디어입니다.

먼저 모듈을 설치합니다.

apt-get install libapache2-mod-proxy-html

2개의 가상 호스트를 생성합니다. 하나는 사이트 요청에 응답하고 다른 하나는 MC 사이트로의 트래픽을 프록시합니다.

<VirtualHost YOUR.INTERNET.IP.ADDR:80>
    ServerAdmin [email protected]
    ProxyPreserveHost On
    ProxyPass / http://LAN.IP.YOUR.MC.SITE:PORT/
    ProxyPassReverse / http://LAN.IP.YOUR.MC.SITE:PORT/
    ServerName mc.myurl.com
</VirtualHost>

<VirtualHost YOUR.INTERNET.IP.ADDR:80>
  ServerAdmin [email protected]
  DocumentRoot /var/www/sites/my_site
  ServerName myurl.com
  ErrorLog logs/intranet-error_log
  CustomLog logs/intranet-access_log common
</VirtualHost>

여기에 더 많은 문서가 있습니다:

관련 정보