HTTP改HTTPS

tomcat中http协议改https

第一步,配置server.xml

xml 复制代码
<?xml version="1.0" encoding="UTF-8"?>
<Server port="8005" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
  <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
  <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
  <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />

  <GlobalNamingResources>
     <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
              description="User database that can be updated and saved"
              factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
              pathname="conf/tomcat-users.xml" />
  </GlobalNamingResources>
  <Service name="Catalina">
<Connector port="8081" protocol="HTTP/1.1" connectionTimeout="20000"  redirectPort="443" />

   <Connector port="8443" protocol="HTTP/1.1"
		SSLEnabled="true" maxThreads="150" scheme="https" secure="true"
                keystoreFile="/opt/apache-tomcat-9.0.40/conf/*.jks"
                keystorePass="*"
                clientAuth="false" sslProtocol="TLS"
               connectionTimeout="20000"/>
     
      <Engine name="Catalina" defaultHost="localhost">

         <Realm className="org.apache.catalina.realm.LockOutRealm">
              <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">

           <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log" suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

      </Host>
    </Engine>
  </Service>
</Server>

注意配置tomcat进行http端口向https端口的重定向,也可以使用iptable配置80转发到443。

如果使用非root用户登录,一定注意端口,非root用户不能使用1024一下的端口,所以要配置8443。

iptables配置方法:

在Linux的下脸部署了apache,为了安全我们使用非root用户进行启动,但是在域名绑定时没法直接访问80端口号。尽人皆知,在unix下,非root用户不能监听1024以下的端口号,这个apache服务器就没办法绑定在80端口下。所以这里需要使用linux的端口转发机制,把到80端口的服务要求都转到8080端口上。

在root账户下面运行1下命令:

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8081

另外如果防火墙重新启动,该命令就会失效,可使用下面的命令把该规则保存到iptables里面。

service iptables save

查看

iptables -nL -t nat

删除

iptables -t nat -D PREROUTING 1

相关推荐
阑梦清川6 小时前
JavaEE初阶---网络原理(五)---HTTP协议
网络·http·java-ee
阿尔帕兹6 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
FeelTouch Labs7 小时前
Netty实现WebSocket Server是否开启压缩深度分析
网络·websocket·网络协议
千天夜8 小时前
使用UDP协议传输视频流!(分片、缓存)
python·网络协议·udp·视频流
follycat9 小时前
[极客大挑战 2019]HTTP 1
网络·网络协议·http·网络安全
earthzhang202110 小时前
《深入浅出HTTPS》读书笔记(5):随机数
网络协议·http·https
xiaoxiongip66610 小时前
HTTP 和 HTTPS
网络·爬虫·网络协议·tcp/ip·http·https·ip
JaneJiazhao10 小时前
HTTPSOK:SSL/TLS证书自动续期工具
服务器·网络协议·ssl
JaneJiazhao10 小时前
HTTPSOK:智能SSL证书管理的新选择
网络·网络协议·ssl
CXDNW10 小时前
【网络面试篇】HTTP(2)(笔记)——http、https、http1.1、http2.0
网络·笔记·http·面试·https·http2.0