当前位置:首页 > 每日看点

如何部署SSL证书,实现https访问呢?

卡卷网1年前 (2025-04-29)每日看点194

​HTTP请求总是被浏览器拦截劝退,提示不安全。SSL/TLS 证书不仅是安全防护的基础,也是现代网站的必备标准。无论是保护用户隐私、提升品牌可信度,还是满足技术需求,配置 HTTPS 都至关重要。

一:使用License证书

License证书可以免费获取也可以付费购买,小型网站建议使用免费证书即可,中大型网站可在阿里云等厂商购买。免费证书建议使用Let's Encrypt,这是一个免费、自动化、开放的 SSL/TLS 证书颁发机构,特点是免费且使用方便。下面介绍如何使用Let's Encrypt

1、安装客户端

我们以CentOS和Nginx的服务器配置为例。Let's Encrypt有个官方客户端叫Certbot,推荐使用该客户端来配置。

首先要安装这个客户端,然后申请证书,设置自动续期。暗转过程方便省心

# CentOS/RHEL暗转客户端 sudo yum install certbot python3-certbot-nginx # 申请证书 www.example.com 需要按需修改 sudo certbot --nginx -d example.com -d www.example.com # 自动续期测试 sudo certbot renew --dry-run # 如果成功,可以设置 cron 定时任务 自动续期: 0 0 * * * /usr/bin/certbot renew --quiet

此步骤需要注意,域名解析中一定要配置A记录类型,主机记录选@。A类型可以配置多条,但其中一条必须是@记录,如下图。否则申请证书无法通过。

如何部署SSL证书,实现https访问呢?  第1张

二、 Nginx配置

执行上面代码第二句申请证书后,Certbot会自动修改你Nginx的配置文件。

通常在 /etc/nginx/nginx.conf,找到包含 example.comwww.example.comserver 块,并自动添加 HTTPS 相关配置,包括:

  • 监听 443 端口(HTTPS)
  • 配置 SSL 证书路径(/etc/letsencrypt/live/example.com/
  • 设置强加密协议(TLS 1.2/1.3)
  • 添加 HTTP → HTTPS 301 重定向(可选,默认会询问你是否启用)

Certbot可以自动修改配置,但不一定能用,具体还要测试辨别。

因为我当时走了很长的弯路才配置好这个文件,所以我把我最终配好的Nginx.conf分享给大家

user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; events { worker_connections 1024; } http { # 基础配置保持不变... include /etc/nginx/mime.types; default_type application/octet-stream; # HTTP 服务器 - 只做重定向 server { listen 80; server_name codinglife.online www.codinglife.online; return 301 https://$host$request_uri; } # HTTPS 服务器 - 主配置 server { listen 443 ssl; server_name codinglife.online www.codinglife.online; # SSL 配置 ssl_certificate /etc/letsencrypt/live/codinglife.online/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/codinglife.online/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # 前端配置 location / { root /var/www/user; index index.html; try_files $uri $uri/ /index.html; } location /admin { alias /var/www/admin; index index.html; try_files $uri $uri/ /admin/index.html; } # 后端API配置 - 关键修改点 location /api {proxy_pass http://localhost:8080/; # 后端服务地址 proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; # 关键:显式传递 Authorization 头 proxy_set_header Authorization $http_Authorization; # 跨域配置 add_header 'Access-Control-Allow-Origin' 'https://codinglife.online'; add_header 'Access-Control-Allow-Methods' 'GET, POST, PUT, DELETE, OPTIONS'; add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type'; add_header 'Access-Control-Allow-Credentials' 'true'; if ($request_method = 'OPTIONS') { return 204; } } location /uploads/ { alias /opt/CodingLife/uploads/; } } }

1、重用443服务

因为通常情况下http服务是用的80端口,但是https服务用的443端口。之前主要配置可能都写在80服务里,现在要调整到443服务里,80端口只用来做重定向就行。

比如本来访问的 http://www.codinglife.online,打开该网页会自动跳转到https://www.codinglife.online。

因为要用443端口了,必须确保你的服务器这个端口是开放的。

2、SSL配置无需改动

如上代码中,SSL配置在Certbot自动配置后,无需改动。如下

# SSL 配置 ssl_certificate /etc/letsencrypt/live/codinglife.online/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/codinglife.online/privkey.pem; include /etc/letsencrypt/options-ssl-nginx.conf; ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem;

3、接口代理

注意如果SpringBoot代码中有限制访问域名时,因为从http改为了https请求,JAVA也别忘了调整

如何部署SSL证书,实现https访问呢?  第2张

三:配置效果

配置后的效果可以参考我的网站:https://www.codinglife.online

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/04/12798.html

分享给朋友:

相关文章

4000以下的手机有没有推荐的啊?

4000以下的手机有没有推荐的啊?

可以选择标准版的旗舰机型:vivo X100s、一加12、OPPO Find X7、小米14、iQOO 12; 也可以选外观时尚的自拍影像机型:vivo S19 Pro、realme GT 5 Pro、荣耀 200Pro、小米 Civi 4…

小米14 Pro和Redmi K70Pro怎么选?

小米14 Pro和Redmi K70Pro怎么选?

两款手机都使用了最新的骁龙8Gen3旗舰芯片,性能都是顶级,但是两款手机定位不同,卖点不同,红米K70 Pro定位主打性能的旗舰入门手机,小米14Pro定位旗舰中高端手机。具体根据个人需求与预算来选择: 两款手机的相同、相似点:都使用了骁龙…

为什么大家不再提 5G 了?

现在看来,只有美国那种5g的思路是对的。 美国的运营商一开始就发现5g和4g并没有质的飞跃,无非就是提升频率/降低穿透力/提升带宽的故事。而美国运营商又是自负盈亏,因此一开始就仅在人口高密度地区或富裕地区布置5g。 虽然说人家4g也菜,但是…

感觉手机配置都差不多,为什么有的手机能卖2k-3k,而有的手机却能卖到6k-8k?

感觉手机配置都差不多,为什么有的手机能卖2k-3k,而有的手机却能卖到6k-8k?

与所有的商品一样,手机的价格,也是由它的成本所决定的。 虽然看起来3000元的手机和6000的手机配置差不多,甚至处理器都可能是同一个,但在很多大家容易忽略的地方,决定了两者价格的不同: 例如手机的外观,塑料的机身,与素皮机身和玻璃机身就完…

到什么程度才叫精通 Linux?

我们医院有个大牛。 有一次,我的Linux电脑下载了Microsoft office 365 不能运行。于是买了2.5升装康师傅冰红茶找到大牛,让他帮忙解决。 大牛白了我一眼,让我把安装包发给他,只见他输入一个命令将安装包打开,整个屏幕都是…

数字人民币为什么又不火了?

我完全不懂行。 我一开始以为,数字人民币,是对我银行里的每一分钱,都赋予一个独一无二的数字编码。 我要用一块钱买矿泉水,它就从我的存款中随机选取一百个一分钱,组合成一块钱,支付给商家。 我花一百块钱吃饭,它就随机选取一万个一分钱,组合成一百…

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。