加密类型:
对称加密: AES DES非对称加密: DH RSAHASH: MD5
生成证书及密钥文件
mkdir /root/sslopenssl genrsa 1024 > /root/ssl/server.key#创建密钥文件 使用rsa加密方式 加密长度,保存到server.keyopenssl 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 /bjecho "bj ssl web" > /bj/index.html#修改配置文件文件,添加以下代码vim *.confserver {listen 443 ssl;server_name ip或者域名;ssl_certificate /root/ssl/server.crt; #指定证书位置ssl_certificate_key /root/ssl/server.key; #指定keylocation / {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:36nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed#就证明你没有ssl模块需要重新编译操作1,切换到源码包:cd nginx-1.20.22,查看已有的nginx模块/usr/local/nginx/sbin/nginx -V3,在编译时添加原有的模块,最后再加上-with-http_ssl_module ssl模块./configure --prefix=/usr/local/nginx --with-http_ssl_module4,执行完成后,运行命令make #千万不要使用make install,否则就是覆盖安装5,然后备份原有已安装好的nginxcp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak6,(需要先关闭当前nginx)重要,然后把编译好的nginx覆盖掉原有的nginx/usr/local/nginx/sbin/nginx -s stopcp ./objs/nginx /usr/local/nginx/sbin/7,然后启动nginx,仍可以通过命令查看是否已经加入成功/usr/local/nginx/sbin/nginx -V/usr/local/nginx/sbin/nginx
