Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Can';无法远程访问tomcat服务器_Java_Tomcat_Google Cloud Platform - Fatal编程技术网

Java Can';无法远程访问tomcat服务器

Java Can';无法远程访问tomcat服务器,java,tomcat,google-cloud-platform,Java,Tomcat,Google Cloud Platform,我在谷歌计算引擎上使用虚拟机,我选择了一台g1小型机器 我安装了tomcat服务器。服务器确实在运行,但我无法在web浏览器上访问它 我还安装了httpd,可以访问浏览器上的端口80,但不能访问8080 这是我的开放端口: Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program na

我在谷歌计算引擎上使用虚拟机,我选择了一台g1小型机器

我安装了tomcat服务器。服务器确实在运行,但我无法在web浏览器上访问它

我还安装了httpd,可以访问浏览器上的端口80,但不能访问8080

这是我的开放端口:

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       
PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1180/sshd           
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      1198/master         
tcp6       0      0 :::22                   :::*                    LISTEN      1180/sshd           
tcp6       0      0 ::1:25                  :::*                    LISTEN      1198/master         
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      11470/java          
tcp6       0      0 :::8080                 :::*                    LISTEN      11470/java          
tcp6       0      0 :::80                   :::*                    LISTEN      11319/httpd
这是我的tomcat.service文件:

[Unit]
Description=Tomcat 8.5 servlet container
After=network.target

[Service]
Type=forking

User=tomcat
Group=tomcat

Environment="JAVA_HOME=/usr/lib/jvm/jre"

Environment="CATALINA_BASE=/opt/tomcat/apache-tomcat-8.5.56"
Environment="CATALINA_HOME=/opt/tomcat/apache-tomcat-8.5.56"
Environment="CATALINA_PID=/opt/tomcat/apache-tomcat-8.5.56/temp/tomcat.pid"
Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC"

ExecStart=/opt/tomcat/apache-tomcat-8.5.56/bin/startup.sh
ExecStop=/opt/tomcat/apache-tomcat-8.5.56/bin/shutdown.sh

[Install]
WantedBy=multi-user.target
我已经用命令将端口8080添加到防火墙

firewall-cmd --zone=public --permanent --add-port=8080/tcp
firewall-cmd --reload
但是当我列出防火墙设置时,我得到了这个

trusted (active)
 target: ACCEPT
 icmp-block-inversion: no
 interfaces: eth0
 sources: 
 services: http https
 ports: 
 protocols: 
 masquerade: no
 forward-ports: 
 source-ports: 
 icmp-blocks: 
 rich rules: 

为了解决您的问题,您应该配置GCP防火墙以允许进入到Tomcat服务器的连接

查看文档并通过控制台或命令行遵循说明:

gcloud compute firewall-rules create tomcat-server-allow-ingress --direction=INGRESS --priority=1000 --network=default --action=ALLOW --rules=tcp:8080 --source-ranges=0.0.0.0/0 --target-tags=tomcat-server
我建议您使用IPs替换
0.0.0.0/0
,并使用将规则直接应用于VM实例:

gcloud compute instances add-tags tomcat-server --zone=europe-west3-a --tags=tomcat-server

检查一下基本情况:您使用什么URL访问Tomcat欢迎页面?类似于
http://your_engine_ip_address_here:8080
?或者,如果您已经从Tomcat中删除了欢迎页面,那么:
http://your_engine_ip_address_here:8080/your_webapp_basename
?我两种都试过了,但都不管用。它只是说服务器的响应时间太长了。我相信这是一个网络的东西,因为我也安装了httpd,我可以达到端口80OK-明白。这是相关的新信息。您应该将其添加到问题中。您是否创建了防火墙规则以允许通过GCP firewall传入到您的VM实例端口8080的连接?请看一下文档。谢谢!!这解决了我的问题