nginx反向代理tomcat集群&OpenSSL生成证书配置https--记录

一、nginx配置

配置文件路径:/conf/nginx.conf


#user  nobody;
worker_processes  1; #进程数,一般cpu核数是多少就设置多少
#worker_cpu_affinity 01 10; #多核cpu的配置,有多少个核,就有几位数,1表示该内核开启,0表示该内核关闭
#worker_rlimit_nofile 65535; #最大打开文件数

#error_log  logs/error.log;
error_log logs/null;

#pid        logs/nginx.pid;

events {
    #use epoll; ##IO模型,支持大量连接和非活动连接,linux才可用
    worker_connections  10240;
    #multi_accept on; #nginx在已经得到一个新连接的通知时,接收尽可能多的连接
    #accept_mutex on; #防止惊群现象发生,默认为on
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    charset utf-8;
    access_log off;
    server {
        listen       80;
        server_name  localhost;
        return 301 https://$server_name$request_uri;
        location / {
	        proxy_pass http://tomcatserver;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_send_timeout 60;
        }
    }

    upstream tomcatserver {
        #ip_hash; #默认是轮巡策略,ip_hash是根据ip绑定到一个tomcat
        server localhost:8081;
        server localhost:8082;
    }

    server {
        listen       443 ssl;
        server_name  localhost;
        ssl_certificate      ssl/server.crt;
        ssl_certificate_key  ssl/server.key;
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
        ssl_ciphers  HIGH:!aNULL:!MD5;
        ssl_prefer_server_ciphers  on;
	    access_log off;
        location / {
            proxy_pass http://tomcatserver;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_send_timeout 60;
        }
    }
}

二、Java端获取真实ip

map.put("realip", request.getHeader("X-Real-IP"));

三、https配置(利用OpenSSL生成证书)

安装好OpenSSL后cmd进入安装目录下的bin目录,执行以下语句:

1.创建服务器私钥
windows要先执行后面这段(值为OpenSSL安装路径):set OPENSSL_CONF=D:\tools\OpenSSL-Win64\bin\openssl.cfg
openssl genrsa -des3 -out server.key 1024

2.创建签名请求的证书(csr),csr核心内容是一个公钥
openssl req -new -key server.key -out server.csr

3.去除使用私钥是的口令验证
cp server.key server.key.org
openssl rsa -in server.key.org -out server.key

4.标记证书使用私钥和csr
openssl x509 -req -days 36500 -in server.csr -signkey server.key -out server.crt

x509是一种证书格式
server.crt就是我们需要的证书

5.nginx配置见步骤一 ssl_certificate 部分

备:生成keystore
openssl pkcs12 -export -in server.crt -inkey server.key -out server.p12
keytool -importkeystore -v  -srckeystore server.p12 -srcstoretype pkcs12 -srcstorepass zhzn123 -destkeystore server.keystore -deststoretype jks -deststorepass zhzn123

四、利用keeplived实现nginx高可用

原理:利用ARRP协议实现虚拟ip漂移

注意:nginx挂了之后,keeplived也要跟着挂掉,linux系统可以利用shell脚本实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值