openssl给内网IP生成ca证书(ssl证书)

本文详细介绍了如何使用OpenSSL工具为内网IP生成CA证书,包括创建私钥、证书请求,自签署证书,以及生成服务器和客户端证书的步骤。同时,提供了Apache、Nginx和Tomcat的配置示例,帮助实现HTTPS加密。在遇到https无法访问的问题时,检查服务器防火墙状态是解决方法之一。
摘要由CSDN通过智能技术生成

一、要使用 OpenSSL 为内网 IP 生成 CA 证书,您需要遵循以下步骤:

1、创建一个存放证书的文件夹

mkdir /opt/zhengshu

 注意:大家自己按照自己的目录创建就行,我的直接放在/opt目录下了。

2、生成私钥和证书请求

openssl req -newkey rsa:2048 -nodes -keyout ca.key -out ca.csr

 注意:申请的时候会让大家填一些参数,下面是参数说明及示例:

字段    字段含义                    示例
/C=     Country 国家                CN
/ST=    State or Province 省        beijing
/L=     Location or City 城市       beijing
/O=     Organization 组织或企业     stars-mine
/OU=    Organization Unit 部门      stars-mine
/CN=    Common Name 是证书拥有者名称  172.xx.xx.xx
#下面这两个参数,大家直接回车跳过就行
A challenge password []:
An optional company name []:

3、自签署证书

openssl x509 -req -days 365 -in ca.csr -signkey ca.key -out ca.crt

 4、生成服务器证书

openssl genrsa -out server.key 2048

openssl req -new -key server.key -out server.csr

 注意:这一步也会输入参数,要和上一次输入的保持一致 

openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out server.crt -days 365

 5、生成客户端证书

openssl genrsa -out client.key 2048

 

openssl req -new -key client.key -out client.csr

 

 注意:这一步也会输入参数,要和前两次输入的保持一致 

openssl x509 -req -in client.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out client.crt -days 365

 6、到此,所有证书就生成完毕

 二、证书配置

1、配置示例(Apache):

<VirtualHost *:443>
    ServerName example.com
    SSLEngine on
    SSLCertificateFile /path/to/server.crt
    SSLCertificateKeyFile /path/to/server.key
    SSLCACertificateFile /path/to/ca.crt
    ...
</VirtualHost>

2、配置示例(Nginx):

server {
        listen       80;
	    listen       443 ssl;
        server_name  172.21.10.101;
	    ssl_certificate /opt/server.crt;
    	ssl_certificate_key /opt/server.key;
	    if ($scheme = http) {
           return 301 https://$host$uri?$args;
        }

        #charset koi8-r;
        #access_log  logs/host.access.log  main;

        location / {
            #root   html;
            #index  index.html index.htm;
            proxy_pass http://172.xx.xx.xx:9000/xxx/xxx/;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

3、配置示例(Tomcat):

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           keystoreFile="/path/to/server.keystore" keystorePass="password"
           truststoreFile="/path/to/ca.crt" truststorePass="password"
           clientAuth="true" sslProtocol="TLS"/>

注意:第一步的这些命令将生成一个名为 ca.crt 的 CA 证书,一个名为 server.crt 的服务器证书以及一个名为 client.crt 的客户端证书。您可以将这些证书分发给您的应用程序和客户端,以启用 SSL/TLS 加密。 

三、常见问题处理

1、内网IP配置了SSL证书后,https无法访问

解决方法:查看服务器防火墙是否都关闭,一定要关闭防火墙

service iptables status

systemctl status firewalld

 状态说明:

出现Active: active (running)切高亮显示则表示是启动状态。

出现 Active: inactive (dead)灰色表示停止,看单词也行。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wd520521

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值