美文网首页
Tomcat8 踩坑笔记

Tomcat8 踩坑笔记

作者: 阿臻同学 | 来源:发表于2019-04-06 23:32 被阅读0次

    tomcat8在Ubuntu中的常用目录结构

    • /etc/tomcat8:配置文件目录,主要包含server.xmlcatalina.propertiescontext.xmllogging.propertiestomcat-users.xmlweb.xml
    • /var/lib/tomcat8/webapps:webapps目录,存放tomcat发布的网页、项目。
    • /var/log/tomcat8:日志目录,存放tomcat运行时的日志文件。

    使用HTTP 80端口、HTTPS 443端口

    <Service name="Catalina">结构下,将8080修改为80,8443修改为443并添加证书文件和秘密。
    如果修改后还是无法启用HTTPS服务:

    1. 检查服务器防火墙是否开启443端口访问权限:查看云服务器防火墙策略、查看iptable和ufw配置
    2. 检查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端口:

    1. server.xml文件中,在80端口的Connector中修改:redirectPort="443(如上述代码所示)
    2. 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

    1. 新建运行配置时,选择Tomcat Server中的Remote
    2. 修改Tomcat Server Setting
      修改Tomcat Server Setting
    3. 添加Host设置
      添加Host设置
    4. 添加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依赖

    相关文章

      网友评论

          本文标题:Tomcat8 踩坑笔记

          本文链接:https://www.haomeiwen.com/subject/qqwdiqtx.html