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

相关推荐
VidDown6 小时前
24fps 转 25fps 不只是改个数字:帧率转换、PAL/NTSC 与音频补偿
python·网络协议·音视频·视频编解码·视频
80s77710 小时前
动态IP是什么,动态IP的应用场景有哪些?
网络·网络协议·tcp/ip
ITxiaobing202310 小时前
IP 库与 AppsFlyer 国家/地区数据不一致,如何系统地对账?
数据库·网络协议·tcp/ip
是个西兰花11 小时前
https 协议原理
网络协议·http·https
xixiaoyunya13 小时前
监控网页插件异常:用 HTTP 探针做第三方依赖的“外视”监测
网络·网络协议·http
长按助力退休13 小时前
HTTPS加密原理详解,TLS握手到底在干什么
https
AI备忘录14 小时前
(二十五)华为华三锐捷迈普思科 ERPS 环网保护配置命令(G.8032 五厂商对照)
运维·服务器·网络·网络协议·华为
事圆则缓15 小时前
HTTP 请求是怎么走的:从 Android 页面到服务端响应
android·网络协议·http
0+11115 小时前
Linux --HTTPS协议原理
网络协议·http·https
hellojackjiang201115 小时前
IM聊天不掉线?生产级WebSocket断线重连、心跳保活实战
websocket·网络协议·网络编程·html5·即时通讯·im