栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

摘要:

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;
    	}
    }
}
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/893879.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号