zoukankan      html  css  js  c++  java
  • nginx配置https转发到tomcat(使用自签名的证书)

    一、使用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

    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

    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

    # 注意几个请求头和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

  • 相关阅读:
    在图片上面添加字体
    wampserver php 识别不了>或者尖括号 php.ini中short_open_tag设置方法
    [P5162] WD与积木
    [P5170] 类欧几里得算法
    [P5172] Sum
    [HEOI2014] 大工程
    [P4721] 分治 FFT
    [BJOI2017] 树的难题
    [P4886] 快递员
    [CERC2014] Virus synthesis
  • 原文地址:https://www.cnblogs.com/javafucker/p/9274627.html
Copyright © 2011-2022 走看看