2014-09-26 139 views
0

我在AWS上設置了一個微型EC2實例。目前,我正在使用俄勒岡州的免費套餐。我面臨兩個問題。拒絕連接到亞馬遜EC2上的socket.io服務器的連接

  1. 當我嘗試使用公共DNS通過SSH的情況下,它說主機不存在,但是當我嘗試使用公共IP conencting它,它連接到它。需要什麼設置才能使用公共DNS?

  2. 我使用IP地址打開了SSH客戶端。我想設置需要Node.js和MongoDB的應用程序。我的Node.js使用this 接下來,我用this 然後我連接到使用Filezilla我的實例,並上傳了我的代碼,將其安裝MongoDB的安裝。然後我啓動使用socket.io的節點應用程序。

當我嘗試使用網絡瀏覽器連接到socket.io服務器時,出現一條消息,指出連接被拒絕「錯誤111」。我在實例的安全組中打開了TCP端口80。在iptables中,我將端口80轉發到8080,但仍然無法工作。我也檢查過在ec2中禁用了防火牆。請幫我解決這個問題。

回答

0

您是否檢查亞馬遜安全策略是否打開了所有必需的端口?

你可以做的是讓亞馬遜的安全策略對所有流量測試,看看是否連接順利與否。

您可能還會檢查是否需要從外部訪問數據庫。在這種情況下,您還必須打開mongodb端口並正確設置mongodb。

其他工具可能有用的測試防火牆和連接問題將是tcpdump和syslog文件

對於DNS問題,你嘗試與nslookup那個名字,看看如果顯示的IP匹配您的服務器的IP?

亞馬遜給出了服務器長DNS主機名,我總是用我自己的域名。這很容易。 例如:ec2.domainname.com,指向亞馬遜IP地址

希望可以幫助。

0

我的問題現在已解決.. 對於DNS問題,我之前需要代理才能訪問互聯網,所以我猜DNS名稱沒有得到解決。當我嘗試使用代理免費互聯網時,我能夠使用公共DNS進行ssh。

和關於連接socket.io,我用8080端口,而不是80,並使用「sudo的節點main.js」運行我的節點文件。現在我可以連接到socket.io服務器和MongoDB。 我想問的另外一件事是,使用sudo權限運行節點文件會產生一些安全問題?

0

感謝您的回答!這也適用於我。我嘗試通過套接字(http://myipaddress:3000)連接到node.js服務器時遇到了同樣的問題,我嘗試打開實際的ec2實例上的端口並通過SSH禁用防火牆,但沒有任何工作。必須去ec2控制檯上的安全組,並打開一個新的入站tcp規則啓用該端口

相關問題