ssl部署——tomcat+nginx

申请ssl证书

  1. 可以在下面的网站申请ssl证书
https://freessl.cn/
  1. 输入网址——创建证书
    image
  2. 输入邮箱——选择证书类型RSA——认证方式DNS——游览器生成——点击创建
    image

注:可以自行在服务器上使用openssl生成私钥和CSR文件,然后此处选择我有CSR文件即可.详细生成步骤自行百度.

  1. 根据提示在DNS服务商处,添加一条TXT解析.此处以阿里云为例.
    image

image

  1. 将下载的证书文件上传到服务器
  2. 修改Nginx配置文件(虚拟主机,若没有开启虚拟主机则在nginx.conf下配置)
vim vhost.conf   ## 在nginx.conf定义的虚拟主机配置路径下创建并编辑。
内容如下:
upstream cxsw
{
    server 127.0.0.1:8080;
}
server
{
    listen 80;
    listen 443 ssl;
    server_name cxsw.xyz;
    ssl_certificate   /usr/local/nginx/cert/full_chain.pem;  
    ssl_certificate_key  /usr/local/nginx/cert/private.key;
    ssl_session_timeout 5m;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    ssl_protocols TLSv1.3 TLSv1.1 TLSv1.2;
    ssl_prefer_server_ciphers on;
        location /  {
        proxy_pass      http://cxsw;
        proxy_set_header Host   $http_host;
        proxy_set_header X-Real-IP      $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header  X-Forwarded-Proto https;
        proxy_headers_hash_max_size 51200;    ##设置头部哈希表的最大值,不能小于你后端服务器设置的头部总数
        proxy_headers_hash_bucket_size 6400;  ## 设置头部哈希表大小

    }
    if ( $scheme != "https" ) {
        return 301 https://$host$request_uri;    ##永久跳转到https
        }
        access_log /usr/local/nginx/logs/cxsw.logs "combined_realip";
}
  1. 修改tomcat的server.xml配置文件
vim server.xml

内容如下:

 <Connector port="8080" protocol="HTTP/1.1"
               connectionTimeout="20000" ##连接超时时间
               redirectPort="443"      ##必须添加此行,如果发送的是https 请求. 就将请求转发到443端口
               proxyPort="443"/>       ##必须添加此行,配置此参数意味着在调用request.getServerName的时候将会获取代理服务器的名称,getServerPort()将会返回proxyPort。
<Host name="cxsw.xyz"  appBase=""
            unpackWARs="true" autoDeploy="true">
            xmlValidation="false" xmlNamespaceAware="false">
            <Valve className="org.apache.catalina.valves.RemoteIpValve"
                  remoteIpHeader="x-forwarded-for"  
                  remoteIpProxiesHeader="x-forwarded-by"
                  protocolHeader="x-forwarded-proto"
            />
           <Alias>www.cxsw.xyz</Alias>
        <Context path="" docBase="/cxsw.xyz/" debug="0" reloadable="true" crossContext="true"/>

Value 节点的配置也非常重要,否则你在 Tomcat 中的应用在读取 getScheme() 方法以及在 web.xml 中配置的一些安全策略会不起作用。

/usr/local/tomcat/bin/shutdown.sh && /usr/local/tomcat/bin/startup.sh
  1. 测试
[root@cxsw ~]# curl https://cxsw.xyz -I
HTTP/1.1 200 
Date: Fri, 29 Mar 2019 03:00:50 GMT
Content-Type: text/html;charset=UTF-8
Connection: keep-alive

直接访问https成功

[root@cxsw ~]# curl http://cxsw.xyz -I
Date: Fri, 29 Mar 2019 03:01:50 GMT
Content-Type: text/html
Content-Length: 185
Connection: keep-alive
Location: https://cxsw.xyz/

访问http跳转https成功

  1. 注意事项
1. 云服务器需要在安全组开启443端口
2. 或者iptables开放443端口
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
回答: TomcatNginx是一种常见的Web服务器架构组合。Tomcat是一个Java应用服务器,用于运行Java Web应用程序。而Nginx是一个高性能的HTTP服务器和反向代理服务器。通过将Nginx作为前端服务器,可以提高Web应用程序的性能和可靠性。 要将TomcatNginx结合使用,可以使用Nginx作为反向代理服务器,将客户端的请求转发给Tomcat处理。这样可以减轻Tomcat的负载,并提供更好的性能和可扩展性。 为了实现这个架构,需要进行一些配置和优化。首先,需要在编译Nginx时添加必要的模块。这些模块在编译时添加,不能在运行时动态加载。\[1\] 其次,可以通过创建临时目录并设置正确的权限来优化Nginx的执行路径。这可以提高Nginx的性能和安全性。\[1\] 另外,如果想在已安装好的Nginx上添加第三方模块,需要重新编译Nginx,并手动拷贝可执行文件,而不是使用make install命令。这样可以避免覆盖原有的配置。\[3\] 总结来说,通过将TomcatNginx结合使用,可以提高Web应用程序的性能和可靠性。配置和优化Nginx的执行路径以及添加第三方模块都是为了实现这个目标。 #### 引用[.reference_title] - *1* *2* *3* [nginx配置反向代理服务器及其配置相关介绍](https://blog.csdn.net/weixin_47019016/article/details/106734926)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值