Tomcat 基本配置
我们在构建一个网站的时候,常常选择 Tomcat 作为服务器的工程项目容器.所以我们需要将域名配置到 Tomcat 上,也就是说我们可以通过域名直接访问我们的网站.
先将你的项目打包上传至服务器.然后放置到 Tomcat 目录下的 webapps 下.
然后进入 conf 目录下,打开 server.xml 进行编辑. 配置域名能直接访问项目,需要在 server.xml 添加以下代码:
<Host name="www.xieyezi.com" appBase="webapps"
unpackWARs="true" autoDeploy="true">
<Context docBase="C:\Program Files\apache-tomcat-9.0.7-windows-x64\apache-tomcat-9.0.7\webapps\Xydesign" path="" reloadable="true"/>
<!-- SingleSignOn valve, share authentication between web applications
Documentation at: /docs/config/valve.html -->
<!--
<Valve className="org.apache.catalina.authenticator.SingleSignOn" />
-->
<!-- Access log processes all example.
Documentation at: /docs/config/valve.html
Note: The pattern used is equivalent to using pattern="common" -->
<Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
prefix="localhost_access_log" suffix=".txt"
pattern="%h %l %u %t "%r" %s %b" />
</Host>
- 配置项目通过域名访问
<Host name="www.xieyezi.com" appBase="hcode"
unpackWARs="true" autoDeploy="true">
将 Host 标签的 name 设置为你的域名,appBase 设置为你的项目的路径(可以为绝对路径和相对路径,你可以看见我这里设置为相对路径). 配置完成即可保存,然后通过 http://www.xieyezi.com/Xydesign 访问.
- 配置项目名缺省进行访问
一般的,我们一般是直接访问域名就进行访问.而不是通过在域名末尾添加项目名进行访问.
<Context docBase="hcode" path="" />
其中,docBase 即为项目的绝对路径,此时通过 http://www.xieyezi.com 即可进行项目名缺省的访问.
- 部署多个项目到 Tomcat
将你的项目打包放置到 webapps 路径下,然后在 server.xml 的 Host 下面添加以下代码:
<Context path="" docBase="" debug="0" reloadable="false"/>
将 path 标签设置为/你的项目名
,docBase 设置为你的项目根目录的绝对路径
. 配置完成即可保存,然后通过 http://www.xieyezi.com/项目名 访问.
- https 访问配置
在 server.xml 添加以下代码:
<Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false"
sslProtocol="TLS"
keystoreFile="/home/doc/keys/213972284410468.pfx"
keystoreType="PKCS12"
keystorePass="213972284410468" />
添加 keystoreFile,keystoreType,keystorePass 即可进行 https 访问.
- 自动跳转到 https 连接
如果希望输入 http 链接时自动跳转到 https,需要在 web.xml 中添加如下内容:
<login-config>
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<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>
以上内容位置在</web-app>
内,添加后输入 http 访问时会自动跳转到 https 连接.