저는 Apache/PHP 서버를 실행하는 웹 서버(C1이라고 부르겠습니다)를 가지고 있으며 포트 전달되어 어디에서나 액세스할 수 있습니다. 그러나 웹 서버 LAN 내에 Apache 서버도 있는 다른 컴퓨터가 있습니다(C2라고 하겠습니다). 포트 전달을 변경할 수 없으며 Apache 서버를 변경할 수도 없습니다(사용자 정의 모듈 설치라고도 함).
C1 디렉터리 내에서 C2에 액세스할 수 있는 방법이 있나요? (예를 들어 www.website.org/random_dir로 이동하면 C2 Apache 서버의 루트를 찾아볼 수 있습니다.)
구성/기타를 가능한 한 적게 변경하려고 합니다(예: 모듈 활성화 등).
가능한 해결책이 있나요?
답변1
답변2
컬을 사용하여 C2에서 정보를 가져오는 스크립트를 C1의 폴더에 배치할 수 있습니다. www.website.org/random_dir을 방문할 때 index.php라는 이름을 지정하면 동작을 알 수 있습니다.
그러나 다른 파일이나 폴더에 액세스하려면 다음과 같은 변수로 전달해야 합니다: www.website.org/random_dir?folder=another_folder/subfolder&file=my_file
해당 솔루션이 귀하의 요구 사항에 적합합니까?
답변3
역방향 프록싱은 수행하려는 작업의 이름입니다. 아파치는 그것을 지원합니다.
역방향 프록싱은 웹 서버가 HTTP 요청 또는 URL을 두 번째 웹 서버에 전달하고(도중 수정 가능), 두 번째 웹 서버의 응답을 수집하고, 결과를 전달(돌아오는 중에 결과 수정 가능)하는 것입니다.
이것시작하기 좋은 곳입니다. 시간이 있으면 몇 가지 예를 사용하여 이 답변을 업데이트하겠습니다.
이에 대해 경고하겠습니다. 역방향 프록싱은 정적 콘텐츠와 동적 또는 Javascript 생성 콘텐츠의 링크에서 페이지의 URL이 "하드코드"되지 않은 콘텐츠에 대해 탁월하게 작동합니다. 웹 애플리케이션이나 자체 웹 서버가 내장된 애플리케이션(Subsonic 또는 uTorrent의 원격 액세스를 생각해 보세요)이 있는 경우, 때때로 웹 애플리케이션이 생성하는 링크가 현재 위치와 다른 위치를 가리키는 상황에 처할 수 있습니다. 역방향 프록시. 여기가 다시 쓰기 모듈이 작동하는 곳이고 지저분해질 수 있습니다. 모든 웹 애플리케이션이 성공적으로 역방향 프록시될 수 있는 것은 아닙니다.