前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >nginx配置https转发到tomcat(使用自签名的证书)

nginx配置https转发到tomcat(使用自签名的证书)

作者头像
用户2409797
发布2018-08-30 17:36:33
6.1K0
发布2018-08-30 17:36:33
举报
文章被收录于专栏:Java修行之道Java修行之道

一、使用openSSL生成自签名的证书

1、生成RSA私钥

命令:openssl genrsa -des3 -out server.key 1024

说明:生成rsa私钥,des3算法,1024强度,server.key是秘钥文件名

2、生成证书签名请求CSR

命令: openssl req -new -key server.key -out server.csr -config openssl.cnf

说明:openssl.cnf是OpenSSL的配置文件,通常放在/usr/lib/ssl/openssl.cnf

注意:需要依次输入国家,地区,城市,组织,组织单位,Common Name和Email。其中Common Name,必须写域名,若是测试可以写localhost

3、生成自签名的证书

命令: openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt

二、nginx配置https

代码语言:javascript
复制
server{

    listen  443 ssl;
    server_name 你的域名或ip;

    keepalive_timeout   70;

    ssl_protocols       TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers         AES128-SHA:AES256-SHA:RC4-SHA:DES-CBC3-SHA:RC4-MD5;
    ssl_certificate     /etc/nginx/ssl/server.crt;   #证书路径
    ssl_certificate_key /etc/nginx/ssl/server.key;   #私钥路径
    ssl_session_cache   shared:SSL:10m;
    ssl_session_timeout 10m;

    location / {
        proxy_pass http://127.0.0.1:8080/;   #转发到tomcat
        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 $scheme;
    }

}

三、强制http转https

代码语言:javascript
复制
server {
    listen 80;
    server_name 你的域名或ip;
     
    rewrite ^(.*)$  https://$host$1 permanent;   #强制转https
  
    location ~ / {
      root /var/www/html/8080;
      index index.html index.php index.htm;
    }
}

四、tomcat配置server.xml

代码语言:javascript
复制
# 注意几个请求头和nginx虚拟主机的配置中应该是对应的
# X-Forwarded-For、X-Forwarded-Proto等
<Valve className="org.apache.catalina.valves.RemoteIpValve" remoteIpHeader="X-Forwarded-For" protocolHeader="X-Forwarded-Proto" protocolHeaderHttpsValue="https"/>

注意:自签名的https证书是很不安全的,很多浏览器也会提示网址不完全,给用户不好的映象。建议大家还是去申请一个正式的证书

文章借鉴自:

OpenSSL生成自签名的证书:https://www.cnblogs.com/hnxxcxg/p/7610582.html

nginx配置https:https://blog.csdn.net/hylexus/article/details/53152701

http强转https:https://www.cnblogs.com/kevingrace/p/6187072.html

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-07-06 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、使用openSSL生成自签名的证书
    • 1、生成RSA私钥
      • 2、生成证书签名请求CSR
        • 3、生成自签名的证书
        • 二、nginx配置https
        • 三、强制http转https
        • 四、tomcat配置server.xml
        相关产品与服务
        轻量应用服务器
        轻量应用服务器(TencentCloud Lighthouse)是新一代开箱即用、面向轻量应用场景的云服务器产品,助力中小企业和开发者便捷高效的在云端构建网站、Web应用、小程序/小游戏、游戏服、电商应用、云盘/图床和开发测试环境,相比普通云服务器更加简单易用且更贴近应用,以套餐形式整体售卖云资源并提供高带宽流量包,将热门开源软件打包实现一键构建应用,提供极简上云体验。
        领券
        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档