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

相关推荐
huainingning2 小时前
华三瘦AP切换为胖AP并配置无线功能
运维·网络·网络协议·tcp/ip
减瓦3 小时前
告别Postman——用VSCode优雅地发起Http请求
vscode·http·postman
跨境技工小黎5 小时前
4G/5G 移动代理实战:什么时候必须用移动 IP?
网络协议·tcp/ip·5g
wechatbot8885 小时前
解决企业微信官方 API 短板:iPad 协议全功能对接方案
java·汇编·windows·http·微信·企业微信
米尔的可达鸭5 小时前
UDP 通信深度实验:从 Windows FastPath 到 ICMP 端口不可达的完整排查
windows·websocket·网络协议·rust·udp·wireshark·tcpdump
Dxy12393102166 小时前
Python 实现POST上行压缩上传可用HTTP库汇总
开发语言·python·http
2501_915909066 小时前
iOS应用性能监控 Instruments工具与崩溃日志分析完整指南
android·ios·小程序·https·uni-app·iphone·webview
午安~婉6 小时前
git中http与ssh连接
git·http·ssh
Full Stack Developme6 小时前
Tomcat 如何处理HTTP请求
java·http·tomcat
味悲7 小时前
Apache HTTP 服务器配置
服务器·http·apache