Saya menjalankan server kucing jantan pada ubuntu
mesin yang dihosting dalam instance AWS. Saya bisa mencapai server melalui public_ip:8080
tetapi ketika saya mengubah port mendengarkan pada server.xml
dari 8080
ke 80
koneksi ditolak oleh host remote.
Nomor port 80
diaktifkan pada AWS firewall
.
Saya memeriksa ufw
melalui sudo ufw status
tetapi hasilnyainactive
Apakah ufw
front-end mekanisme firewall yang mendasarinya?
Bagaimana saya bisa mengaktifkan pelabuhan 80
di firewall
?
Terima kasih sebelumnya.
Ouptut dari iptables -S
:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
Output dari netstat -punta
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 785/mysqld
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 613/sshd
tcp 0 0 172.31.1.56:22 92.45.23.114:3913 ESTABLISHED 5825/sshd: ubuntu [
tcp 0 0 172.31.1.56:22 92.45.23.114:19374 ESTABLISHED 7320/sshd: ubuntu [
tcp 0 0 172.31.1.56:22 92.45.23.114:28051 ESTABLISHED 6901/sshd: ubuntu [
tcp 0 272 172.31.1.56:22 92.45.23.114:9327 ESTABLISHED 7428/sshd: ubuntu [
tcp 0 0 172.31.1.56:22 92.45.23.114:7597 ESTABLISHED 7034/sshd: ubuntu [
tcp 0 0 127.0.0.1:3306 127.0.0.1:45655 ESTABLISHED 785/mysqld
tcp6 0 0 127.0.0.1:8005 :::* LISTEN 7275/java
tcp6 0 0 :::8080 :::* LISTEN 7275/java
tcp6 0 0 :::22 :::* LISTEN 613/sshd
tcp6 0 0 127.0.0.1:45655 127.0.0.1:3306 ESTABLISHED 7275/java
udp 0 0 0.0.0.0:68 0.0.0.0:* 538/dhclient3
Output dari netstat -na |grep \:80
sebelum mengubah port ke 80
:
tcp6 0 0 127.0.0.1:8005 :::* LISTEN
tcp6 0 0 :::8080 :::* LISTEN
Output netstat -na |grep \:80
setelah mengubah port ke 80
:
tcp6 0 0 127.0.0.1:8005 :::* LISTEN
Output browser pada port 80
:
ERROR
The requested URL could not be retrieved
The following error was encountered while trying to retrieve the URL: http://54.194.236.229/TransportationAutomation/personnel.xhtml
Connection to 54.194.236.229 failed.
The system returned: (111) Connection refused
The remote host or network may be down. Please try the request again.
Your cache administrator is webmaster.
Generated Fri, 14 Feb 2014 15:01:06 GMT by proxy (squid/2.7.STABLE7)
Definisi pelabuhan bagian dari server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
bagian dari Catalina.out saat memulai tomcat pada port 80
:
Feb 14, 2014 3:04:25 PM org.apache.coyote.AbstractProtocol init
SEVERE: Failed to initialize end point associated with ProtocolHandler ["http-bio-80"]
java.net.BindException: Permission denied <null>:80
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:391)
at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:554)
at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:409)
at org.apache.coyote.http11.AbstractHttp11JsseProtocol.init(AbstractHttp11JsseProtocol.java:119)
at org.apache.catalina.connector.Connector.initInternal(Connector.java:956)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardService.initInternal(StandardService.java:559)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:815)
at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:102)
at org.apache.catalina.startup.Catalina.load(Catalina.java:594)
at org.apache.catalina.startup.Catalina.load(Catalina.java:619)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at org.apache.catalina.startup.Bootstrap.load(Bootstrap.java:281)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:449)
Caused by: java.net.BindException: Permission denied
at java.net.PlainSocketImpl.socketBind(Native Method)
at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:376)
at java.net.ServerSocket.bind(ServerSocket.java:376)
at java.net.ServerSocket.<init>(ServerSocket.java:237)
at java.net.ServerSocket.<init>(ServerSocket.java:181)
at org.apache.tomcat.util.net.DefaultServerSocketFactory.createSocket(DefaultServerSocketFactory.java:49)
at org.apache.tomcat.util.net.JIoEndpoint.bind(JIoEndpoint.java:378)
... 17 more
PEMBARUAN 2:
Saya menginstal tomcat melalui apt-get
jadi itu adalah versi tomcat yang dikemas ulang. Di sini dikatakan bahwa menjalankan tomcat sebagai root akan menyelesaikan masalah tetapi di sini ia mengatakan Tomcat should not be run under the root user.
Apakah tidak ada cara yang mungkin untuk menanganinya dengan instance tomcat yang dikemas ulang?
PEMBARUAN 3:
Saya kira ini adalah jawaban untuk pertanyaan saya
apt-get
, saya hanya ingin menunjukkan bahwa mengubah portserver.xml
biasanya tidak cukup, karena port 80 adalah port istimewa. Apakah Anda check-incatalina.out
untuk melihat apakah Anda memiliki pesan kesalahan?Jawaban:
Ya itu. Ini seperti versi iptables yang mudah digunakan. Cobalah untuk menulis, untuk melihat aturan firewall iptables:
Anda dapat membuka port 80 dengan menggunakan:
Saya dapat menjelaskan baris ini untuk Anda, jika Anda membutuhkannya. Katakan saja :-)
sumber
sudo iptables -L
ituChain INPUT (policy ACCEPT) target prot opt source destination Chain FORWARD (policy ACCEPT) target prot opt source destination Chain OUTPUT (policy ACCEPT) target prot opt source destination
Akan sempurna untuk menggambarkan garis yang bertujuan untuk membuka port 80. Terima kasih sebelumnya.Ini bekerja untuk saya:
Jalankan sebagai root:
sumber