2014-12-26 72 views
2

我已經在Amazon EC2上安裝了Apache/Linux。在一個實例中,我設置了PHP並將這些文件放在var/www/html目錄下。在同一個實例中,我還在一個子文件夾中安裝了NodeJS home/ec2-user/將NodeJS服務器端口重定向到子域或文件夾(amazon ec2)

我創建了一個新的director home/ec2-user/site, js)在端口8080上。

現在,如果URL爲http://domain.com,它將指向PHP目錄(var/www/html)。和URL http://domain.com:8080顯示輸出形式server.js

我的問題是: 我也可以把http://domain.com:8080http://sub.domain.comhttp://domain.com/sub?我想在瀏覽器上的地址欄也會改變。這可能嗎?

+1

這可以通過使用Web服務器設置代理配置來完成。你沒有提到你正在使用哪一個。可能它是Apache或nginx,具體的入侵將根據您正在使用哪一個而不同。 – punund

+0

@punund,它是Apache!謝謝! – clerksx

回答

0

我想我解決了這個問題。

首先,設置Amazon S3和Route 53. 在Amazon S3上,添加存儲桶「sub.domain.com」。然後靜態網站託管>將所有請求重定向到其他主機名,然後鍵入「domain.com」 在Route 53,在託管區域「domain.com」上創建一個記錄集「sub.domain.com」。選擇類型「A」,然後將別名設置爲「domain.com」。 (TBH,我不完全確定上面的步驟是必要的。)

然後更改代理設置。創建一個文件名「httpd-vhosts.conf」。然後把它放在「etc/httpd/conf.d」下。有關詳細步驟,檢查這樣的回答:Second Virtual Host's DocumentRoot is changed after launching ec2 based on customized Amazon Linux AMI

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> 

然後我重新啓動亞馬遜控制檯上的EC2實例。歡迎任何更好的解決方案。

相關問題