簡體   English   中英

AWS ELB返回https:// domain_name:8000的404,但可通過public_ip:8000訪問

[英]AWS ELB return 404 for https://domain_name:8000 but accessible via public_ip:8000

我是在AWS上部署Web應用程序的初學者,我認為與AWS 8000從Elb轉發端口到EC2的8000端口存在類似的問題,其中我在AWS ec2上運行了reactjs前端和golang api,並且golang api正在運行在端口8000上,該端口可通過我的public_ip:8000進行訪問,並向我發送消息,指出我訪問public_ip:8000時我的golang api可以運行。 我使用彈性IP創建了public_ip。

我使用負載平衡器來獲取HTTPS,因為我具有某些僅適用於HTTPS的功能。 但是,當我使用https:// domain_name:8000將請求發送到自己的API時,它說該請求不存在,並在使用應用程序負載平衡器時出現404錯誤。

我的域名使用AWS的Route 53和AWS名稱服務器,並且不會出現任何問題,因為我可以正確地定向到我的普通域。 我還添加了一個指向我的負載均衡器的記錄。

我已經檢查了使用的安全組,並已將端口打開到我的IP地址。

我的實例狀態檢查: 實例狀態檢查

以下是我如何配置應用程序負載平衡器的目標組: 目標群體 對於我的聽眾,我已經使用HTTP 80,HTTPS 443和HTTPS 8000轉發到我的目標組。

我已經嘗試使用鏈接中提到的經典負載均衡器,但是當我使用domain_name時,它們全部超時。

任何人都知道在AWS上可能需要打開其他端口以進行api訪問的更好的連接方式或更好的結構化我的reactjs前端和golang后端應用程序的方法。

我的經典負載均衡器端口轉發配置: 經典負載均衡器端口

編輯:我注意到問題可能是我的目標組,因為它說端口8000不健康,並且請求超時

花費大量時間弄清楚端口,而Google搜索或AWS文檔都無濟於事,因此我將我的reactjs前端放入一個在端口80上運行的EC2實例中,並將我的服務器/ golang API放入另一個在端口80上運行的EC2實例中,如果調用HTTP:80或HTTPS:443,則將Application Load Balancer設置為使用前端轉發到目標組,如果調用HTTPS:8000,則使用golang API轉發到目標組。

確保實例與負載均衡器位於同一可用區中,否則實例將無法正常工作,並且還確保所有組件運行正常。

暫無
暫無

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

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