だから私はEC2を使用してAWSを使用しており、Postgresqlのポートを開こうとしています。 AWSでは既に開いています:
TCP
Port (Service) Source Action
0 - 65535 sg-92aadda2 (default) Delete
22 (SSH) 0.0.0.0/0 Delete
80 (HTTP) 0.0.0.0/0 Delete
5432 0.0.0.0/0 Delete
Netstatを実行すると、ポートがリッスンしているように見えます。
# netstat -an | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
Localhost nmapを実行すると、次の結果が得られます。
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000010s latency).
Not shown: 997 closed ports
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp open postgresql
そして、ここからが楽しみです。代替ホストからnmapを実行すると、次の結果が得られます。
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp closed postgresql
また、iptablesを見て、何かが足りないかどうかを確認しましたが、iptablesは空に見えます(つまり、実際には多くのことをしていないことを意味します)
$ iptables -L
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere 127.0.0.0/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT tcp -- anywhere anywhere tcp dpt:postgresql
ACCEPT icmp -- anywhere anywhere
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
DROP all -- anywhere anywhere
Chain FORWARD (policy ACCEPT)
target prot opt source destination
DROP all -- anywhere anywhere
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
IPにアクセスする方法を理解できないように見えるため、何かが欠けていますか?試すたびに、次のエラーが表示されます。
Is the server running on Host "xx.xx.xx.xx" and accepting TCP/IP connections on port 5432?
外部サーバーがアクセスできるようにポートを開くことができるようにするにはどうすればよいですか?事前に感謝=)Lemmeは追加データが必要かどうかを知っています。
[〜#〜] edit [〜#〜]:以下のように、telnetをテストし、localhostにtelnetできましたが、外部から試行すると次のようになります。
$ telnet xx.xx.xx.xx 5432
Trying xx.xx.xx.xx...
telnet: Unable to connect to remote Host: Connection refused
また、私は再確認し、sshに適切にtelnetできました:
$ telnet xx.xx.xx.xx 22
Trying xx.xx.xx.xx...
Connected to xx.xx.xx.xx.
Escape character is '^]'.
SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1
編集/etc/postgresql/<version>/main/postgresql.conf
およびlisten_addresses
送信インターフェースまたはすべてに。 postgresqlを再起動します:Sudo service postgresql restart
。
それは私にとって最後の方法で機能します(フリオのおかげです):
編集: postgresql.conf
Sudo nano /etc/postgresql/9.3/main/postgresql.conf
有効化または追加:
listen_addresses = '*'
データベースエンジンを再起動します:
Sudo service postgresql restart
また、次のファイルを確認できます。pg_hba.conf
Sudo nano /etc/postgresql/9.3/main/pg_hba.conf
ネットワークまたはホストアドレスを追加します。
Host all all 192.168.1.0/24 md5
Postgresql.confとmain/pg_hba.confを編集してもまだ問題がある場合は、sudo ufw allow 5432/tcpでpsqlポートのブロックを解除してください