加密类型:
对称加密: AES DES
非对称加密: DH RSA
HASH: MD5
生成证书及密钥文件
mkdir /root/ssl
openssl genrsa 1024 > /root/ssl/server.key
#创建密钥文件 使用rsa加密方式 加密长度,保存到server.key
openssl req -new -key /root/ssl/server.key > /root/ssl/server.csr
#req请求
#-new 新的
#-key /root/ssl/server.key key在哪里
#回车后出来一串字符串,按照以下填写
#国家名称
Country Name (2 letter code) [XX]: CN
#省会
State or Province Name (full name) []:BJ
#城市
Locality Name (eg, city) [Default City]:BJ
#组织名,公司名
Organization Name (eg, company) [Default Company Ltd]:GZ
#部门名称
Organizational Unit Name (eg, section) []:CLOUD
#你的名字
Common Name (eg, your name or your server's hostname) []:JZL
#邮箱
Email Address []:123@qq.com
#证书打开的时候要不要一个简单的密码
A challenge password []: 不用就回车就好
#可选的公司名
An optional company name []: 不用就回车就好
openssl req -x509 -days 365 -key /root/ssl/server.key -in /root/ssl/server.csr > /root/ssl/server.crt
#req 请求
#-x509 证书格式
#-days 365 证书有效期天数
#-key /root/ssl/server.key 指定密钥文件
#-in /root/ssl/server.csr 证书的申请书在哪里
# > /root/server.crt 真正的证书在哪里
配置ssl
mkdir /bj
echo "bj ssl web" > /bj/index.html
#修改配置文件文件,添加以下代码
vim *.conf
server {
listen 443 ssl;
server_name ip或者域名;
ssl_certificate /root/ssl/server.crt; #指定证书位置
ssl_certificate_key /root/ssl/server.key; #指定key
location / {
root /bj;
index index.html;
}
}
#重启nginx,访问https://ip或域名
以上实验出现此问题:
nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:36
nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
#就证明你没有ssl模块需要重新编译操作
1,切换到源码包:
cd nginx-1.20.2
2,查看已有的nginx模块
/usr/local/nginx/sbin/nginx -V
3,在编译时添加原有的模块,最后再加上-with-http_ssl_module ssl模块
./configure --prefix=/usr/local/nginx --with-http_ssl_module
4,执行完成后,运行命令
make #千万不要使用make install,否则就是覆盖安装
5,然后备份原有已安装好的nginx
cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
6,(需要先关闭当前nginx)重要,然后把编译好的nginx覆盖掉原有的nginx
/usr/local/nginx/sbin/nginx -s stop
cp ./objs/nginx /usr/local/nginx/sbin/
7,然后启动nginx,仍可以通过命令查看是否已经加入成功
/usr/local/nginx/sbin/nginx -V
/usr/local/nginx/sbin/nginx