加密类型:
  1. 对称加密: AES DES
  2. 非对称加密: DH RSA
  3. HASH MD5

生成证书及密钥文件

  1. mkdir /root/ssl
  2. openssl genrsa 1024 > /root/ssl/server.key
  3. #创建密钥文件 使用rsa加密方式 加密长度,保存到server.key
  4. openssl req -new -key /root/ssl/server.key > /root/ssl/server.csr
  5. #req请求
  6. #-new 新的
  7. #-key /root/ssl/server.key key在哪里
  8. #回车后出来一串字符串,按照以下填写
  9. #国家名称
  10. Country Name (2 letter code) [XX]: CN
  11. #省会
  12. State or Province Name (full name) []:BJ
  13. #城市
  14. Locality Name (eg, city) [Default City]:BJ
  15. #组织名,公司名
  16. Organization Name (eg, company) [Default Company Ltd]:GZ
  17. #部门名称
  18. Organizational Unit Name (eg, section) []:CLOUD
  19. #你的名字
  20. Common Name (eg, your name or your server's hostname) []:JZL
  21. #邮箱
  22. Email Address []:123@qq.com
  23. #证书打开的时候要不要一个简单的密码
  24. A challenge password []: 不用就回车就好
  25. #可选的公司名
  26. An optional company name []: 不用就回车就好
  27. openssl req -x509 -days 365 -key /root/ssl/server.key -in /root/ssl/server.csr > /root/ssl/server.crt
  28. #req 请求
  29. #-x509 证书格式
  30. #-days 365 证书有效期天数
  31. #-key /root/ssl/server.key 指定密钥文件
  32. #-in /root/ssl/server.csr 证书的申请书在哪里
  33. # > /root/server.crt 真正的证书在哪里

配置ssl
  1. mkdir /bj
  2. echo "bj ssl web" > /bj/index.html
  3. #修改配置文件文件,添加以下代码
  4. vim *.conf
  5. server {
  6. listen 443 ssl;
  7. server_name ip或者域名;
  8. ssl_certificate /root/ssl/server.crt; #指定证书位置
  9. ssl_certificate_key /root/ssl/server.key; #指定key
  10. location / {
  11. root /bj;
  12. index index.html;
  13. }
  14. }
  15. #重启nginx,访问https://ip或域名

以上实验出现此问题:
  1. nginx: [emerg] the "ssl" parameter requires ngx_http_ssl_module in /usr/local/nginx/conf/nginx.conf:36
  2. nginx: configuration file /usr/local/nginx/conf/nginx.conf test failed
  3. #就证明你没有ssl模块需要重新编译操作
  4. 1,切换到源码包:
  5. cd nginx-1.20.2
  6. 2,查看已有的nginx模块
  7. /usr/local/nginx/sbin/nginx -V
  8. 3,在编译时添加原有的模块,最后再加上-with-http_ssl_module ssl模块
  9. ./configure --prefix=/usr/local/nginx --with-http_ssl_module
  10. 4,执行完成后,运行命令
  11. make #千万不要使用make install,否则就是覆盖安装
  12. 5,然后备份原有已安装好的nginx
  13. cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
  14. 6,(需要先关闭当前nginx)重要,然后把编译好的nginx覆盖掉原有的nginx
  15. /usr/local/nginx/sbin/nginx -s stop
  16. cp ./objs/nginx /usr/local/nginx/sbin/
  17. 7,然后启动nginx,仍可以通过命令查看是否已经加入成功
  18. /usr/local/nginx/sbin/nginx -V
  19. /usr/local/nginx/sbin/nginx