个人购买的域名(需要公网服务器)快速配置免费的HTTPS证书【有手就行】

x33g5p2x  于2022-02-12 转载在 其他  
字(2.1k)|赞(0)|评价(0)|浏览(689)

配置免费的HTTPS证书

0. 开放443端口

这是云服务主机商那边的管理的443端口对外开放


还要释放云服务本机上面的443端口 == 我写了个防火墙脚本你们可以直接拿来用

  1. sh firewallUtil.sh open 端口号
  2. sh firewallUtil.sh close 端口号
  3. sh firewallUtil.sh check 端口号
  4. sh firewallUtil.sh status 端口号
  5. sh firewallUtil.sh list

firewallUtil脚本

  1. #!/bin/bash
  2. # 开启端口
  3. openPort () {
  4. if [ ! $1 ]; then
  5. echo '请输入需要开启的端口,请检查'
  6. exit 1
  7. fi
  8. portStatus=$(firewall-cmd --query-port="$1"/tcp)
  9. if [ $portStatus = 'no' ]; then
  10. sudo firewall-cmd --add-port=$1/tcp --permanent
  11. firewall-cmd --reload
  12. sleep 1s
  13. echo '端口【$1】已成功开启'
  14. else
  15. echo "端口【$1】已开启,无需重复开启"
  16. fi
  17. }
  18. # 关闭端口
  19. closePort () {
  20. if [ ! $1 ]; then
  21. echo '请输入需要关闭的端口,请检查'
  22. exit 1
  23. fi
  24. portStatus=$(firewall-cmd --query-port="$1"/tcp)
  25. if [ $portStatus = 'yes' ]; then
  26. firewall-cmd --permanent --remove-port=$1/tcp
  27. firewall-cmd --reload
  28. sleep 1s
  29. echo '端口【$1】已成功关闭'
  30. else
  31. echo "端口【$1】已关闭,无需重复关闭"
  32. fi
  33. }
  34. # 查看端口是否开启关闭
  35. checkPort () {
  36. if [ ! $1 ]; then
  37. echo '请输入需要检查的端口,请检查'
  38. exit 1
  39. fi
  40. portStatus=$(firewall-cmd --query-port="$1"/tcp)
  41. echo "端口【$1】状态:$portStatus"
  42. }
  43. # 查看系统中开放的端口
  44. listPort () {
  45. openPortInfo=$( firewall-cmd --list-all | grep ports | awk 'NR==1{for(i=2;i<=NF;i++) print $i}' | sort -nk 1 -t '/')
  46. echo "系统中对外开启的端口"
  47. echo "$openPortInfo"
  48. }
  49. case $1 in
  50. open)
  51. openPort $2
  52. ;;
  53. close)
  54. closePort $2
  55. ;;
  56. check|status)
  57. checkPort $2
  58. ;;
  59. list)
  60. listPort
  61. ;;
  62. *)
  63. echo '参数错误:请输入第一个参数open|close|check|status|list 中的任何一个、第二个参数【可选】端口号'
  64. esac

1. 进入https://freessl.cn/

2. 创建证书

将这里的值,配置到腾讯云(如果你的域名从阿里云买的则去阿里云那边配)DNS解析中

3. 配好后,点击验证,生成证书、以及公钥

【点击验证】等了一会一直没反应,如下图。则在一点一遍【点击验证,出现下图的第二张图】

将证书、密钥下载好,将其配到nginx上即可

4. Nginx配置

  1. # 不同域名配置多个证书,可将这个节点复制粘贴一遍,改一下server_name ssl_certificate ssl_certificate_key即可
  2. # server_name必须是你证书申请时是什么就填什么
  3. server {
  4. listen 443 ssl;
  5. server_name test.linruchang.work;
  6. ssl_certificate /www/server/nginx/httpsDoc/test.linruchang.work/full_chain.pem;
  7. ssl_certificate_key /www/server/nginx/httpsDoc/test.linruchang.work/private.key;
  8. ssl_session_cache shared:SSL:1m;
  9. ssl_session_timeout 5m;
  10. ssl_ciphers HIGH:!aNULL:!MD5;
  11. ssl_prefer_server_ciphers on;
  12. # 小米官网
  13. location /xiaomi {
  14. root /www/project;
  15. }
  16. }
  17. # 所以http请求都重定向到https上
  18. server {
  19. listen 80;
  20. index index.html index.htm index.jsp index.php;
  21. error_page 400 404 413 /4xx.html;
  22. error_page 500 502 503 504 /50x.html;
  23. rewrite ^(.*)$ https://$host$1 permanent;
  24. }

将这两个文件上传到Linux服务器

5. 访问

相关文章