2014-12-26 6 views
2

Amazon EC2에 Apache/Linux를 설치했습니다. 한 예로, 나는 PHP를 설치하고 파일을 var/www/html 디렉토리 아래에 놓았다. 동일한 인스턴스에서 NodeJS를 하위 폴더 home/ec2-user/NodeJS 서버 포트를 하위 도메인 또는 폴더로 리디렉션합니다 (amazon ec2)

에 설치했습니다.

NodeJS 서버 스크립트 (서버)를 시작하는 javascript 파일을 저장하는 새 디렉터 home/ec2-user/site를 만들었습니다. js).

이제 URL이 http://domain.com이면 PHP 디렉토리 (var/www/html)로 지정됩니다. 그리고 URL http://domain.com:8080 출력 양식 server.js

내 질문은 보여줍니다 내가 http://sub.domain.com 또는 http://domain.com/subhttp://domain.com:8080를 리디렉션 할 수 있습니까? 브라우저의 주소 표시 줄도 변경됩니다. 이것이 가능한가?

+1

웹 서버에서 프록시 구성을 설정하면이 작업을 수행 할 수 있습니다. 당신은 당신이 사용하고있는 것을 언급하지 않았습니다. 아마 그것은 아파치 또는 nginx 중 하나입니다, 특정 intructions 당신이 사용하는 하나에 따라 다를 수 있습니다. – punund

+0

@punund, 아파치 야! 감사! – clerksx

답변

0

나는 이것을 해결했다고 생각합니다.

우선 Amazon S3 및 Route 53을 설정하십시오. Amazon S3에서 버킷 "sub.domain.com"을 추가하십시오. 그런 다음 정적 웹 사이트 호스팅> 모든 요청을 다른 호스트 이름으로 리디렉션 한 다음 "domain.com"을 입력하십시오. 경로 53에서 호스팅 된 도메인 "domain.com"에서 레코드 집합 "sub.domain.com"을 만듭니다. "A"유형을 선택한 다음 별칭을 "domain.com"으로 설정하십시오. (TBH, 위의 단계가 필요하다고 완전히 확신하지 못합니다.)

그런 다음 프록시 설정을 변경하십시오. 파일 이름을 "httpd-vhosts.conf"로 지정하십시오. 그런 다음 "etc/httpd/conf.d"아래에 넣으십시오. 자세한 단계는이 답변을 확인하십시오

NameVirtualHost *:80 

<VirtualHost *:80> 
    ServerName domain.com 
    DocumentRoot "/var/www/html/" 
</VirtualHost> 

<VirtualHost *:80> 
    ServerName sub.domain.com 
    ProxyPass    /  http://domain.com:8080/ 
    ProxyPassReverse  /  http://domain.com:8080/ 
</VirtualHost> 

Second Virtual Host's DocumentRoot is changed after launching ec2 based on customized Amazon Linux AMI은 그 때 나는 아마존 콘솔의 EC2 인스턴스를 다시 시작됩니다. 더 나은 솔루션을 환영합니다.

관련 문제