ubuntu
AWS örneğinde barındırılan bir makinede tomcat sunucusu çalıştırıyorum . Ben aracılığıyla sunucuya ulaşabilir public_ip:8080
ama üzerinde dinleme bağlantı noktasını değiştirmek zaman server.xml
gelen 8080
için 80
bağlantı uzak ana tarafından reddedilir.
Bağlantı 80
noktası numarası etkin AWS firewall
.
ufw
Aracılığıyla kontrol ettim sudo ufw status
ama sonuçinactive
Mı ufw
altta yatan duvarı mekanizmasının ön uç?
Nasıl bağlantı noktasını etkinleştirebilirsiniz 80
üzerinde firewall
?
Şimdiden teşekkürler.
Çıkışı iptables -S
:
-P INPUT ACCEPT
-P FORWARD ACCEPT
-P OUTPUT ACCEPT
Çıktı 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
netstat -na |grep \:80
Port değiştirmeden önce çıkışı 80
:
tcp6 0 0 127.0.0.1:8005 :::* LISTEN
tcp6 0 0 :::8080 :::* LISTEN
netstat -na |grep \:80
Port değiştirildikten sonra çıktı 80
:
tcp6 0 0 127.0.0.1:8005 :::* LISTEN
Bağlantı noktasındaki tarayıcının çıktısı 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)
Bağlantı noktası tanımı parçası server.xml
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="8443" />
Tomcat'e başlarken Catalina.out'un bir parçası 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
GÜNCELLEME 2:
Tomcat'i aracılığıyla kurdum, apt-get
bu yüzden tomcat'in yeniden paketlenmiş bir versiyonu. Burada tomcat'i root olarak çalıştırmanın sorunu çözeceğini söylüyor ama buradaTomcat should not be run under the root user.
yeniden paketlenmiş tomcat örneği ile başa çıkmanın olası bir yolu yok mu?
GÜNCELLEME 3:
Sanırım bu sorumun cevabı
apt-get
, bağlantı server.xml
noktası 80'in ayrıcalıklı bir bağlantı noktası olduğu için bağlantı noktasını değiştirmenin genellikle yeterli olmadığını belirtmek isterim . Eğer kontrol ettin catalina.out
herhangi bir hata iletisi olup olmadığını görmek için?