使用域控CA根证书签署,nginx配置SSL证书使用https

本文档详细介绍了如何使用域控CA根证书签署SSL证书,并在nginx服务器上配置HTTPS。首先,向域控管理员申请.pfx格式的证书,接着安装OpenSSL。然后,通过.pfx文件生成CA根证书,修改配置文件并设置DNS记录。最后,在服务器上生成key和crt文件,将证书应用到nginx以启用HTTPS服务。
摘要由CSDN通过智能技术生成

摘要:

1、生成证书,使用域控CA根证书签署,在内网进行正常使用。
2、nginx配置SSL证书,使用https。

配置:

1、向域控管理员申请 .pfx 格式的域控根证书
2、安装OpenSSL
openssl version -a

如果显示版本信息,说明已安装完成,否则需要安装。

yum install openssl
yum update openssl
3、使用.pfx格式文件生成ca根证书
openssl pkcs12 -in ca.pfx -nodes -out ca.pem
openssl rsa -in ca.pem -out ca.key
openssl x509 -in ca.pem out ca.crt
4、修改证书配置文件
cp /etc/pki/tls/openssl.cnf ./
  • (1) [ req ] 下需要有如下两行(没有的话补全)

      [ req ]
      distinguished_name = req_distinguished_name
      req_extensions = v3_req
    
  • (2) 确保 req_distinguished_name 下没有0.xxx的标签,有的话吧0.xxx的0.去掉

  • (3) [ v3_req ] 添加一行数据到最后

      [ v3_req ]
      subjectAltName = @alt_names
    
  • (4) [ alt_names ] 中添加IP和域名,可以多级域名同时添加

      [ alt_names ] 
      IP = 192.168.1.100
      DNS.1 = xx.xx.com
      DNS.2 = *.xx.xx.com
    
5、在服务器生成证书
  • (1) 生成key私钥
openssl genrsa -out server.key 2048
  • (2)生成csr文件
openssl req -new -key server.key -out harbor.csr -config openssl.cnf
  • (3)生成crt文件
openssl x509 -trustout -req -days 3650 -sha256 -extfile openssl.cnf -extensions v3_req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt

说明:-trustout 是nginx使用的证书需要添加的,其他服务加了可能会异常

使用:

1、nginx
nginx.conf
user nginx;
worker_processes auto;

error_log /var/log/nginx/error.log error;
pid       /var/run/nginx.pid;

events {
    worker_connections 1024;
}

http {
	add_header 'Access-Control-Allow-Origin' '*';
	add_header 'Access-Control-Allow-Credentials' 'true';
    add_header Access-Control-Allow-Headers X-Requested-With;
    add_header Access-Control-Allow-Methods GET,POST,OPTIONS;
    add_header 'Cache-Control' 'no-cache';
    
    server {
        listen       80;
        server_name xx.xx.com; // 你的域名

        location / {
            rewrite ^(.*)$ http://xx.xx.com:443$1 permanent;                       
        }
    }

	server {
        listen      443 ssl;
    	server_name xx.xx.com; // 你的域名
    	index index.html;// 上面配置的文件夹里面的index.html
    	ssl_certificate  /xxx/cert/server.crt;
    	ssl_certificate_key /xxx/cert/server.key;
    	ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
    	ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    	ssl_prefer_server_ciphers on;
    	ssl_verify_client off;
    	root /xxx/xxx/html; // 前台文件存放文件夹,一般使用 Nginx 初始化的文件夹,当然也可以自己修改
    	location / {
    	    index index.html index.htm;
    	}
    }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值