nginx 使用ssl的方法代理tomcat

简介:

一.配置tomcat

  1. 生成私钥

openssl genrsa -out tomcatkey.pem

  2. 使用私钥自签证书

openssl req -new -x509 -key tomcatkey.pem -out tomcatca.pem -days 1095

  3.配置tomcat的https连接器,修改server.xml文件,这里是配置的apr模式

  <Connector port="8443" SSLEnabled="true"  protocol="org.apache.coyote.http11.Http11AprProtocol"
 SSLCertificateFile="/home/hxtest/tomcat6/conf/ssl/tomcatca.pem" SSLCertificateKeyFile="/home/hxtest/tomcat6/conf/ssl/tomcatkey.pem"   maxThreads="500" scheme="https" secure="true" sslProtocol="TLSv1+TLSv1.1+TLSv1.2"  SSLVerifyClient="optional"  />

 

 二.配置nginx

 1.生成私钥

     openssl genrsa -des3 -out ssl.key 1024

 2.创建证书签名请求(CSR)

     openssl req -new -key ssl.key -out ssl.csr

 3.清除SSL启动nginx时提示必须输入密钥

     cp ssl.key ssl.key.org

     openssl rsa -in ssl.key.org -out ssl.key

 4.使用刚生成的私钥和CSR进行证书签名

     openssl x509 -req -days 365 -in ssl.csr -signkey ssl.key -out ssl.crt

 5.把私钥和证书加入到nginx.conf的配置文件中

     ssl_certificate      /etc/nginx/ssl/ssl.crt;
     ssl_certificate_key  /etc/nginx/ssl/ssl.key;

 

 

三.配置nginx 使用https协议代理tomcat。

   

# HTTPS server
    #
    server {
        listen       443 ;
        server_name  192.168.100.2;#本机nginx的IP地址
        ssl on;
    ### SSL log files ###
        access_log      /var/log/nginx/ssl-access.log;
        error_log       /var/log/nginx/ssl-error.log;


    ### SSL cert files ###
       ssl_certificate      /etc/nginx/ssl/ssl.crt;
       ssl_certificate_key  /etc/nginx/ssl/ssl.key;
    ###  Limiting Ciphers ########################
       ssl_session_cache    shared:SSL:10m;
       ssl_session_timeout  5m;
    # Intermediate configuration. tweak to your needs.
#       ssl_protocols TLSv1.1 TLSv1.2;
       ssl_ciphers ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-RC4-SHA:!ECDHE-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:ECDHE-RSA-AES256-SHA:!RC4-SHA:HIGH:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!CBC:!EDH:!kEDH:!PSK:!SRP:!kECDH;
       ssl_prefer_server_ciphers  on;
#       ssl_ecdh_curve secp384r1;
#       ssl_session_tickets off;
#       ssl_stapling on;
#       ssl_stapling_verify on;
#       ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;
       add_header Strict-Transport-Security max-age=31536000;
       add_header X-Frame-Options DENY;

       add_header X-Content-Type-Options nonsniff;      

 

 ##############################################
    ### We want full access to SSL via backend ###
        location / {
        proxy_pass https://192.168.100.2:8443;#代理的tomcat的IP地址
    #        root   html;
        index  index.html index.htm index.php;
#       proxy_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
       proxy_set_header        Host            $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 $scheme;
#       add_header              Front-End-Https   on;
#       proxy_redirect     off;

             }

本文转自服务器运维博客51CTO博客,原文链接http://blog.51cto.com/shamereedwine/1790398如需转载请自行联系原作者


neijiade10000

相关文章
|
2月前
|
缓存 应用服务中间件 网络安全
Nginx中配置HTTP2协议的方法
Nginx中配置HTTP2协议的方法
137 7
|
12天前
|
缓存 Java 应用服务中间件
nginx的正向代理和反向代理以及tomcat
Nginx的正向代理和反向代理功能在不同的场景中具有重要作用,正向代理主要用于客户端访问控制和匿名浏览,而反向代理则用于负载均衡和高可用性服务。Tomcat作为Java Web应用服务器,与Nginx结合使用,可以显著提升Web应用的性能和稳定性。通过合理配置Nginx和Tomcat,可以构建高效、稳定和可扩展的Web服务架构。
84 11
|
12天前
|
网络协议 应用服务中间件 网络安全
IP申请SSL证书的条件和方法
为IP地址申请SSL证书与域名证书流程不同,主要因SSL基于域名验证。部分CA允许为公有或私有IP地址申请证书,需满足拥有IP所有权、支持单IP或自签名证书、IP可公开访问及符合CA政策等条件。申请步骤包括访问CA官网、选择证书类型、提交申请、验证所有权并安装证书。替代方案是使用自签名证书,适合内部网络或开发环境。
|
3月前
|
监控 应用服务中间件 测试技术
确保正则表达式在 Nginx 代理中的准确性和稳定性
【10月更文挑战第19天】总之,正则表达式在 Nginx 代理中具有重要作用,但要确保其准确性和稳定性需要付出一定的努力和关注。通过以上方法的综合运用,我们可以提高正则表达式配置的可靠性,为用户提供更好的服务体验。
|
2月前
|
前端开发 应用服务中间件 定位技术
Nginx 如何代理转发传递真实 ip 地址?
【10月更文挑战第32天】
353 5
Nginx 如何代理转发传递真实 ip 地址?
|
2月前
|
前端开发 Java 应用服务中间件
Tomcat和Nginx的资源路径映射
Tomcat和Nginx的资源路径映射
47 1
|
2月前
|
负载均衡 前端开发 JavaScript
Nginx 代理多服务
以上是 Nginx 代理多服务的几种常见方式,在实际应用中,可以根据具体的业务需求和系统架构选择合适的代理方式,并结合其他 Nginx 的功能和配置来优化和完善系统的性能和功能。
|
3月前
|
负载均衡 应用服务中间件 Linux
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
这篇博客文章详细介绍了Nginx的下载、安装、配置以及使用,包括正向代理、反向代理、负载均衡、动静分离等高级功能,并通过具体实例讲解了如何进行配置。
195 4
nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件,很全
|
3月前
|
应用服务中间件 API nginx
使用正则表达式实现 Nginx 代理
【10月更文挑战第19天】在不断发展的互联网技术中,掌握正则表达式在 Nginx 代理中的应用是非常重要的。不断探索和实践,将有助于我们在实际工作中更好地运用这一技术,提升项目的质量和效率。
|
3月前
|
缓存 负载均衡 应用服务中间件
Nginx 实现一个端口代理多个前后端服务
【10月更文挑战第19天】Nginx 的强大功能不仅限于此,它还可以与其他技术和工具相结合,为我们的应用提供更强大的支持和保障。在不断发展的互联网时代,掌握 Nginx 的使用技巧将为我们的工作和生活带来更多的便利和效益。

热门文章

最新文章