tomcat8在Ubuntu中的常用目录结构
- /etc/tomcat8:配置文件目录,主要包含server.xml、catalina.properties、context.xml、logging.properties、tomcat-users.xml、web.xml。
- /var/lib/tomcat8/webapps:webapps目录,存放tomcat发布的网页、项目。
- /var/log/tomcat8:日志目录,存放tomcat运行时的日志文件。
使用HTTP 80端口、HTTPS 443端口
在<Service name="Catalina">结构下,将8080修改为80,8443修改为443并添加证书文件和秘密。
如果修改后还是无法启用HTTPS服务:
- 检查服务器防火墙是否开启443端口访问权限:查看云服务器防火墙策略、查看iptable和ufw配置
- 检查Tomcat是否有权限使用443端口:使用sudo service tomcat8 start命令启动tomcat
<!-- 8080 修改为80 -->
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
URIEncoding="UTF-8"
redirectPort="443" />
<!-- 8443 修改为443 -->
<Connector port="443"
protocol="org.apache.coyote.http11.Http11NioProtocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
keystoreFile="证书文件"
keystorePass="证书密码"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"
clientAuth="false" sslProtocol="TLS" /> 配置80端口自动跳转到443端口:
- 在server.xml文件中,在80端口的Connector中修改:redirectPort="443(如上述代码所示)
- 在web.xml文件中,在</welcome-file-list>后添加如下字段:
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint> IDEA发布到服务器tomcat
- 新建运行配置时,选择Tomcat Server中的Remote
- 修改Tomcat Server Setting
修改Tomcat Server Setting - 添加Host设置
添加Host设置 - 添加Deployment设置
添加Deployment设置
IDEA发布Spring Boot项目到服务器Tomcat时无资源文件导致网页404
原因
Spring Boot中发布到外部Tomcat容器所需的操作和配置与传统J2EE不同:
Spring Boot中可以通过@SpringBootApplication注解使用jar包部署运行,且项目结构中没有WEB-INF等常见于传统J2EE开发中的目录,项目的静态HTML、JS等资源在src\main\resources\static下,需要在pom文件中添加以下依赖后用于支持在外部tomcat中运行:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency> 现象
在网页中访问相关页面或资源时会404。
检查打包发布的文件时,并没有发现HTML等资源文件,只有class、jar这些代码文件。
解决
在项目结构中添加tomcat相关的依赖:
添加tomcat依赖

京公网安备 11010502036488号