java web http 转https 通过nginx代理访问

生成证书
1. 安装nginx,包括nginx的ssl模块
2. 生成证书,通过openssl
3. 配置nginx的https访问

安装nginx和ssl模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-openssl={path-to-openssl-source-dir}

这边特别注意是openssl的源码目录, 而非安装目录, 编译,安装,openssl模块就编译到nginx当中去了

生成证书

主要步骤也在这里列一下:

a. 创建CA私钥, 利用私钥创建CA证书

#创建CA私钥

openssl genrsa -out rootCA.key 2048

 

#创建CA证书

openssl req -x509 -new -nodes -key rootCA.key -sha256 -days 1024 -out rootCA.crt

 

b.创建server私钥以及CSR

#创建server私钥

openssl genrsa -out server.key 2048

 

#根据配置要的openssl参数创建服务器csr文件, 后面会用到,yourpath是openssl.cnf的实际路径,默认位置 /etc/pki/tls/openssl.cnf

 

openssl req -new -key server.key -out server.csr -config {yourpath}/openssl.cnf -extensions v3_req

 

c.使用CA证书给server.csr做签名

openssl x509 -req -days 500 -in server.csr -CA rootCA.crt -CAkey rootCA.key -CAcreateserial -out server.crt -sha256 -extensions v3_req -extfile {yourpath}/openssl.cnf

 

 最后得到两个文件

server.crt

server.key

  

更新nginx的配置信息

server {

    listen   443; # HTTPS 需要使用的端口
    
    ssl    on; # 开启 Nginx SSL 模块
    ssl_certificate    /etc/ssl/certificate.crt; # 网站新证书路径
    ssl_certificate_key    /etc/ssl/private.key; # 网站新私钥路径
    
    server_name your.domain.com; # 域名
    access_log /var/log/nginx/nginx.vhost.access.log;
    error_log /var/log/nginx/nginx.vhost.error.log;
    location / {
    root   /home/www/public_html/your.domain.com/public/; # 域名映射根路径
    index  index.html;
    }

}

  

重启nginx服务

通过浏览器,输入https://ip:port来访问测试。

 

posted @ 2021-12-06 18:42  啦啦拉扎尔  阅读(551)  评论(0编辑  收藏  举报