다중 인스턴스

다중 인스턴스

액세스하기 위해 호스트 파일을 지속적으로 수정해야 하는 스테이징 및 테스트 서버가 많이 있습니다(도메인 이름에 따라 다르므로 작동하려면 호스트 파일을 변경해야 함).

나는 이것이 짜증스럽다고 생각한다. 나는 작업하고 싶은 각 종류의 사이트에 대해 일종의 휴대용 브라우저를 설정하고 싶습니다. 이 작업을 수행할 수 있는 그래픽 웹 브라우저(다른 브라우저의 렌더링 엔진 기반 브라우저 포함) 버전이 있습니까?

이렇게 하면 스테이징을 테스트하려는 경우 스테이징 작업을 수행하도록 이미 구성된 인스턴스를 간단히 시작할 수 있습니다.

어떤 아이디어가 있나요?

편집하다:중요한 기능은 두 개의 브라우저를 동시에 실행하는 기능입니다. 둘 다 를 탐색 some-address.com하지만 한 브라우저는 요청을 의 서버로 전달 1.2.3.4하고 다른 브라우저는 요청을 의 서버로 전달합니다 5.6.7.8.

편집하다:(14/3/16)

이 질문은 몇 년 전에 제기되었는데, 저는 아직도 이를 수행할 적절한 방법을 모릅니다. 사람들이 문제를 오해하는 것 같아서 더 자세히 설명하겠습니다. 프록시 서버를 사용하는 것만으로는 쉽게 해결할 수 있는 문제가 아닙니다. 문제를 해결하기 위해 프록시 서버에 광범위한 규칙을 작성하는 것이 가능할 수도 있지만 이는 단순한 문제에 대한 엄청나게 복잡한 솔루션입니다.

명확히 하기 위해:

웹서버는 3개가 있습니다. 생산, 테스트 및 개발. 각각은 액세스하는 데 사용되는 호스트 이름을 기반으로 자체적으로 사용자 정의되는 다중 테넌트 애플리케이션을 실행합니다. 개념적으로 이는 여러 사이트가 동일한 서버 인스턴스에서 실행될 수 있도록 하는 콘텐츠 관리 시스템 또는 블로그 엔진과 유사합니다. 호스트 이름을 서버에 지정하면 HTTP 1.1 호스트 이름 매핑을 통해 액세스하는 데 사용되는 호스트 이름이 표시되는 사이트가 됩니다.

단순히 호스트 파일을 다시 작성하는 솔루션은 여러 사이트, 프로덕션, 개발, 테스트 등에 대해 동시에 여러 브라우저 창을 실행해야 하기 때문에 작동하지 않습니다. 따라서 호스트 파일을 지속적으로 변경하는 것만으로는 충분하지 않습니다. 모든 브라우저 인스턴스에 영향을 미치기 때문에 작동합니다. 한 브라우저에 대한 매핑을 변경하면 이제 다른 브라우저도 해당 서버에 매핑되므로 이후의 모든 요청은 잘못된 서버로 이동하게 됩니다.

내가 찾고 있는 것은 이 브라우저 인스턴스가 이 호스트 파일을 사용하도록 강제하고, 해당 브라우저 인스턴스가 명령줄 매개변수 등을 통해 해당 호스트 파일을 사용하도록 하는 방법입니다. 브라우저 사본을 여러 개 설치해야 하는 경우에도 신경 쓰지 않습니다.

설치된 복사본마다 자체 구성 파일을 사용하기 때문에 Firefox Portable에서는 가능할 수 있지만 문제는 사이트를 관리하는 데 사용되는 타사 소프트웨어가 Firefox와 작동하지 않는다는 것입니다(사이트 자체는 작동하지만 관리 도구는 작동하지 않습니다). 그렇지 않습니다. Chrome, IE 및 Opera에서는 잘 작동합니다. 그러나 이 문제를 해결하기 위해 소스에 액세스할 수 없습니다.

답변1

오징어가 문제를 해결해줬어요. 나는 많은 프록시 서버가 동일한 작업을 수행할 수 있다고 생각합니다.

특히 Squid를 설치해야 했습니다. 그런 다음 대체 호스트 파일에 액세스하도록 squid.conf를 변경합니다. 변경하려는 줄은 다음과 같습니다.

#hosts_file /etc/hosts

내 경우에는 hosts_file /etc/hosts-squid. 파일 을 생성 /etc/hosts-squid하고 호스트 오징어 파일을 변경하여 주어진 URL에 대해 원하는 새 IP 주소에 액세스할 수 있도록 했습니다. 이것이 내가 Squid 프록시 서버를 구성하기 위해 해야 할 전부였습니다.

그런 다음 프록시 설정으로 브라우저를 시작하는 명령을 만들었습니다. 나는 다음을 사용했다:

chromium-browser --proxy-server=localhost:3128

해당 명령을 효과적으로 실행하면 내가 만든 호스트 오징어 파일의 도메인 설정에 액세스할 수 있는 실행 중인 크롬 인스턴스가 제공됩니다.

또한 동일한 컴퓨터에서 프로덕션, 개발 및 로컬 웹 사이트에 모두 액세스하기 위해 여러 Squid 인스턴스를 사용하여 더 많은 프록시 서버를 설정할 수 있었습니다. 여러 Squid 인스턴스를 실행하는 방법에 대한 지침은 다음과 같습니다.여기. 나는 또한블로그 게시물문제와 해결책을 조금 더 자세히 설명합니다.

답변2

나는 귀하가 각 브라우저에 자체 호스트 파일을 포함하는 가상 환경을 설정하도록 요청하고 있다고 생각합니다.

한 가지 해결책은 다음과 같습니다.샌드박시각각 자체 호스트 파일을 포함하는 별도의 샌드박스를 설정합니다. 호스트 파일을 사용하기 위해 브라우저를 샌드박스에 설치할 필요가 없으며 해당 샌드박스 내부에서 시작하기만 하면 됩니다. 샌드박스 내에서 브라우저를 시작하기 위한 바탕 화면 바로 가기를 만들 수 있습니다.

단점은 예를 들어 인터넷에서 파일을 다운로드할 때 브라우저가 실제 파일 시스템에서 격리된다는 점이지만 Sandboxie에는 샌드박스 외부에서 이러한 파일을 복사하는 메커니즘이 포함되어 있습니다.

불행하게도 동시에 두 개 이상의 샌드박스에서 프로그램을 실행하는 기능은 Sandboxie의 유료 버전에서만 사용할 수 있습니다(가정에서 개인 용도로 사용하려면 1년 라이센스에 15유로 + 세금). 무료 버전을 사용하여 타당성 테스트를 수행할 수 있습니다. (편집: Sandboxie는 이제 프리웨어입니다.)

Linux 사용자의 경우 유사한 제품은 다음과 같습니다.

답변3

다음을 사용하여 호스트 파일 변경 프로세스를 자동화할 수 있습니다. 파이어폭스 + 호스트관리자

HostAdmin은 호스트 파일, 스위치 도메인-IP 매핑을 수정하는 데 도움이 되는 Firefox 애드온입니다. HostAdmin은 향상된 호스트 파일 구문을 통해 호스트 파일을 이해할 수 있습니다. 또한 HostAdmin은 호스트 파일을 변경할 때마다, 심지어 수동으로라도 DNS 캐시를 자동으로 새로 고칩니다.

예시 구성

#==== Project 1
# 127.0.0.1 localhost1
127.0.0.1 localhost2
127.0.0.1 localhost3
#====
#==== Project 2
# 127.0.0.1 localhost1
# 127.0.0.1 localhost2
# 127.0.0.1 localhost3  

자세한 내용은 다음을 참조하세요.https://addons.mozilla.org/en-US/firefox/addon/hostadmin/

다중 인스턴스

Linux에서 두 개의 Firefox 브라우저 인스턴스를 동시에 독립적으로 실행하려면 다음 스크립트를 사용하여 여러 실행 프로그램을 만듭니다. 또한 모든 Firefox에 플러그인을 설치하십시오.

파이어폭스 1

#!/bin/bash
th="/home/$USER/tmp/p1"
mkdir -p "$th"
export HOME="$th"
firefox -no-remote

파이어폭스 2

#!/bin/bash
th="/home/$USER/tmp/p2"
mkdir -p "$th"
export HOME="$th"
firefox -no-remote  

firefox -P브라우저의 프로필 옵션( )을 사용하여 다양한 설정에 대한 기본 프로필을 사용할 수 있으며 동시에 사용할 수도 있습니다.

답변4

프리복시이 목적으로 사용될 수 있습니다.

관련 정보