簡體   English   中英

將NodeJS服務器端口重定向到子域或文件夾(amazon ec2)

[英]Redirect a NodeJS server port to a subdomain or a folder (amazon ec2)

我已經在Amazon EC2上安裝了Apache / Linux。 在一個實例中,我安裝了PHP,並將文件放在目錄var / www / html下。 在同一實例上,我還在子文件夾home / ec2-user /中安裝了NodeJS。

我創建了一個新的director home / ec2-user / site,在其中放置了一個JavaScript文件,該文件在端口8080上啟動了NodeJS服務器腳本(server.js)。

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

我的問題是:我可以將http://domain.com:8080重定向到http://sub.domain.comhttp://domain.com/sub嗎? 我希望瀏覽器上的地址欄也將變為。 這可能嗎?

我想我已經解決了。

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

然后更改代理設置。 創建一個文件名“ httpd-vhosts.conf”。 然后將其放在“ etc / httpd / conf.d”下。 有關詳細步驟,請檢查以下答案: 在基於定制的Amazon Linux AMI啟動ec2之后,更改了第二虛擬主機的DocumentRoot

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>  

然后,我在Amazon控制台上重新啟動了EC2實例。 任何更好的解決方案都歡迎。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM