当前位置:   article > 正文

Nginx 域名SSL证书配置(网站 http 升级为 https) acme.sh 申请免费SSL永久证书(自动续期)_免费ssl证书永久生成

免费ssl证书永久生成

写在前面的话

小编这里用的是godaddy购买的域名

服务器是aws

acme.sh GitHub地址  https://github.com/acmesh-official/acme.sh

配合nginx进行部署,后面会贴上nginx.conf

我这里是多个域名用同一个证书

效果图

 

来吧,展示

 首先你得在自己服务器上面进行部署nginx,如果不知道怎么操作的,可以参考我这一篇博客,执行到这一步的时候,执行 ./configure --with-http_ssl_module 这个命令 ,部署完成后

 地址在这里,点我呀

好,通过上面步骤,安装了nginx,可以通过ip,进行访问自己的项目了,那这个时候进行解析域名ip,小编这里用的是godaddy,

然后ping一下自己的域名,看看是不是自己的服务器ip

好,前面的准备工作到这里就over了,接下来开始讲证书申请了

一、下载acme.sh

我这里是新服务器,所以里面什么东西都没有,如果有安装部分内容,请略过

进入home目录,安装git,下载acme.sh

cd /home

安装git

yum install -y git

下载acme.sh

git clone https://github.com/acmesh-official/acme.sh.git

 进入acme.sh目录

cd acme.sh/

安装cronie 定时任务内容

yum install cronie

更新环境变量

source ~/.bashrc

二、安装acme

安装acme (输入自己的邮箱)

./acme.sh --install -m 51xxxxxx9@qq.com

 查看定时任务面板,是否有一条ssl定时任务

crontab -e

如果有这个,即安装成功

三、获取秘钥

接下来去godaddy上面进行获取秘钥(创建秘钥)

 然后得到key 和 Secret,一定要保存好,保存下来

  1. export GD_Key="你的key"
  2. export GD_Secret="你的Secret"

四、生成证书

 然后就可以生成证书了 ,我这里是多个域名,一起生成证书,把aaa.com 改成自己的域名 ,如果跟我一样,报 bash: acme.sh: command not found 错,运行 source ~/.bashrc 这个命令,重新加载环境变量

acme.sh --issue --dns dns_gd -d aaa.com -d admin.aaa.com -d api.aaa.com

 然后变成这B样,就好了,证书已生成,路径他已经给你打印出来了

 接下来就是安装证书,安装之前,去nginx目录创建一个ssl文件夹,我这里nginx安装在/usr/local/nginx ,所以我就在这个目录创建一个ssl文件夹

然后再进入acme目录

cd ~/.acme.sh/

五、安装证书

安装证书 把aaa.com 改成自己的域名

  1. acme.sh --install-cert -d aaa.com \
  2. --key-file /usr/local/nginx/ssl/aaa.com.key \
  3. --fullchain-file /usr/local/nginx/ssl/aaa.com.pem

可以去到 /usr/local/nginx/ssl 看看证书,是否安装成功

 ok,证书有了,接下来去nginx.conf 去配置证书,我这里就直接把我nginx.conf贴出来,把aaa.com改成自己的即可,需要注意的地方是,你服务器(我这里的aws),安全组需要开放443端口

六、修改nginx.conf

  1. #user nobody;
  2. worker_processes 1;
  3. #error_log logs/error.log;
  4. #error_log logs/error.log notice;
  5. #error_log logs/error.log info;
  6. #pid logs/nginx.pid;
  7. events {
  8. worker_connections 1024;
  9. }
  10. http {
  11. include mime.types;
  12. default_type application/octet-stream;
  13. #log_format main '$remote_addr - $remote_user [$time_local] "$request" '
  14. # '$status $body_bytes_sent "$http_referer" '
  15. # '"$http_user_agent" "$http_x_forwarded_for"';
  16. #access_log logs/access.log main;
  17. sendfile on;
  18. #tcp_nopush on;
  19. #keepalive_timeout 0;
  20. keepalive_timeout 65;
  21. #gzip on;
  22. server {
  23. #当 http 协议被请求时,统一转发到https协议上
  24. listen 80;
  25. server_name aaa.com;
  26. return 301 https://$server_name;
  27. }
  28. server {
  29. listen 443 ssl;
  30. ssl_certificate "/usr/local/nginx/ssl/aaa.com.pem";
  31. ssl_certificate_key "/usr/local/nginx/ssl/aaa.com.key";
  32. server_name aaa.com;
  33. location / {
  34. root 自己项目的html路径;
  35. index index.html;
  36. }
  37. location /.well-known/acme-challenge/ {
  38. root /usr/local/nginx/ssl/;#自己证书路径,我这里证书是这个目录
  39. log_not_found off;
  40. }
  41. }
  42. # api
  43. server {
  44. #listen 80;
  45. listen 443 ssl;
  46. ssl_certificate "/usr/local/nginx/ssl/aaa.com.pem";
  47. ssl_certificate_key "/usr/local/nginx/ssl/aaa.com.key";
  48. server_name api.aaa.com;
  49. location / {
  50. proxy_pass http://127.0.0.1:8080/;
  51. }
  52. }
  53. # 后台web
  54. server {
  55. #listen 80;
  56. listen 443 ssl;
  57. ssl_certificate "/usr/local/nginx/ssl/aaa.com.pem";
  58. ssl_certificate_key "/usr/local/nginx/ssl/aaa.com.key";
  59. server_name admin.aaa.com;
  60. charset utf-8;
  61. location / {
  62. root 后台web html路径;
  63. try_files $uri $uri/ /index.html;
  64. index index.html index.htm;
  65. }
  66. error_page 500 502 503 504 /50x.html;
  67. location = /50x.html {
  68. root html;
  69. }
  70. }
  71. }

,然后再重启nginx,即可

./nginx -s reload

然后你就可以访问你的域名了,http://aaa.com ,nginx会自动重定向到 https://aaa.com

一定要清除浏览器缓存或者换个浏览器,再进行访问,不然,到时候你就大眼瞪小眼吧~

看都看到这里了,码字不易,感谢点赞

 如果小伙伴们有什么疑问,欢迎下面评论。欢迎指正。如还有什么不懂的加我 QQ:517861659

如果没有及时回复,可以点我先问问AI机器人icon-default.png?t=N6B9https://chatgpt.byabstudio.com/login?code=202307011314  

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/219225
推荐阅读
相关标签
  

闽ICP备14008679号