你是不是也有过这样的烦恼?网站上线了,但浏览器左上角总显示“不安全”三个字,看着就让人心里发毛。尤其是做电商、做会员注册的网站,用户一看“不安全”,转身就走,那可真是白忙活一场。其实解决这个问题很简单——给你的网站加上HTTPS加密,也就是我们常说的“小绿锁”。而实现这个的关键,就是SSL证书。

今天我就来手把手带你用阿里云的SSL证书,把Nginx和Apache服务器都安排得明明白白。不管你是Linux老手,还是刚接触服务器的新手,这篇文章都能让你从零开始,一步步完成部署。别担心命令看不懂,我会尽量用大白话讲清楚每一步。
为啥非得上SSL证书?这玩意儿真不是摆设
先说说为什么我们要折腾这个。以前HTTP协议传输数据是明文的,相当于你在大街上喊话,谁都能听见。比如用户登录时输入的密码,可能就被中间人截走了。而HTTPS呢?它就像给你和用户之间建了一条加密隧道,外人想听也听不到。
现在主流浏览器(比如Chrome、Firefox)对没有SSL证书的网站都会直接标红警告,严重影响用户体验。而且搜索引擎也更喜欢HTTPS的网站,排名会更有优势。别再犹豫了,该上就得上!
说到SSL证书,市面上有很多选择,但阿里云提供的免费型DV SSL证书完全够用,而且申请简单、审核快,特别适合个人站长和中小企业。最重要的是——它真的免费!每年都能续一次,妥妥的省钱又省心。
第一步:去阿里云申请你的免费SSL证书
打开浏览器,搜“阿里云SSL证书”,或者直接访问控制台。登录后找到“SSL证书”服务,点击“购买证书”。别怕,这里选“免费型DV SSL”就行,价格是0元,不用掏钱。
接下来填写域名信息。注意,这里只支持绑定一个域名,比如www.example.com,如果你想同时保护example.com和www.example.com,记得在域名前加个,变成.example.com,这就是通配符证书。不过免费版不支持通配符,所以只能选一个主域名。
提交之后,阿里云会进行域名所有权验证。最简单的办法是DNS验证:你只需要去你的域名解析后台,添加一条指定的TXT记录。等几分钟刷新一下,系统自动检测通过,证书就能签发了。整个过程最快十几分钟,比点外卖还快。
证书签发成功后,记得下载它。下载页面会提供不同服务器类型的配置文件,我们重点要的是Nginx和Apache这两个。点进去,把压缩包下载到本地,解压出来你会看到两个关键文件:一个以.pem结尾,一个以.key结尾。这两个就是我们待会儿要用的核心文件。
第二步:把证书上传到服务器,准备开工
现在证书到手了,下一步就是把它传到你的服务器上。你可以用FTP工具(比如FileZilla),也可以用命令行scp上传。假设你的服务器是Linux系统,推荐把证书放在/etc/nginx/ssl/或者/etc/apache2/ssl/这样的目录下,方便管理。
举个例子,如果你用的是Nginx,可以这样操作:
sudo mkdir -p /etc/nginx/ssl/example.com sudo cp your_domain.pem /etc/nginx/ssl/example.com/ sudo cp your_domain.key /etc/nginx/ssl/example.com/
记得把文件权限设置好,避免私钥泄露:
sudo chmod 600 /etc/nginx/ssl/example.com/.key sudo chown -R www-data:www-data /etc/nginx/ssl/example.com/
Apache也是类似的操作,只是存放路径可能略有不同,比如/etc/httpd/ssl/或/etc/apache2/ssl/,根据你的系统来定。
Nginx部署SSL:改几行配置,立马变安全
接下来重头戏来了——修改Nginx配置文件。通常在/etc/nginx/sites-available/目录下,找到你网站对应的配置文件,比如default或者your_domain.conf。
打开它,找到server块,原来监听80端口的那一段。我们现在要新增一个监听443端口的server块,专门处理HTTPS请求。代码大概是这样:
server {
listen 443 ssl;
server_name www.example.com;
ssl_certificate /etc/nginx/ssl/example.com/your_domain.pem;
ssl_certificate_key /etc/nginx/ssl/example.com/your_domain.key;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;
ssl_prefer_server_ciphers off;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
解释一下关键字段:
ssl_certificate:指向你的公钥文件(.pem)ssl_certificate_key:指向你的私钥文件(.key)ssl_protocols和ssl_ciphers:定义加密协议和算法,保证安全性
保存之后,别忘了再加个重定向,让所有HTTP请求自动跳转到HTTPS:
server {
listen 80;
server_name www.example.com;
return 301 https://$server_name$request_uri;
}
最后测试配置有没有语法错误:
sudo nginx -t
如果显示“syntax is ok”,那就没问题。重启Nginx:
sudo systemctl reload nginx
打开浏览器,输入https://你的域名,看到小绿锁了吗?恭喜你,Nginx的SSL已经跑起来了!
Apache部署SSL:换个写法,一样稳
如果你用的是Apache,流程也差不多,只是配置文件写法不同。首先确保你已经启用了SSL模块:
sudo a2enmod ssl sudo systemctl restart apache2
然后编辑你的虚拟主机配置文件,一般在/etc/apache2/sites-available/目录下,比如default-ssl.conf或者你自己创建的conf文件。
在块中加入以下内容:
SSLEngine on
SSLCertificateFile /etc/apache2/ssl/example.com/your_domain.pem
SSLCertificateKeyFile /etc/apache2/ssl/example.com/your_domain.key
DocumentRoot /var/www/html
ServerName www.example.com
AllowOverride All
Require all granted
同样,别忘了设置HTTP到HTTPS的跳转。可以在80端口的虚拟主机里加上Rewrite规则:
ServerName www.example.com
RewriteEngine On
RewriteRule ^(.)$ https://%{HTTP_HOST}$1 [R=301,L]
保存后重启Apache:
sudo systemctl reload apache2
刷新网页,看看是不是已经走HTTPS了?如果一切正常,说明Apache也成功披上了“加密盔甲”。
常见问题别慌,我帮你踩过坑
部署过程中可能会遇到几个小麻烦,我提前给你打个预防针:
- 证书不生效? 检查文件路径对不对,.pem和.key有没有放错位置,权限是否正确。
- 浏览器提示风险? 可能是缓存问题,清个缓存再试试。也可能是你用了测试域名,浏览器不认。
- HTTPS打不开,HTTP可以? 查看防火墙是否放行了443端口,云服务器的安全组也要开放443入方向。
还有一个重要提醒:SSL证书有有效期,免费版是1年。快到期前阿里云会发短信提醒,记得及时登录续签,不然网站会突然变“不安全”。
别忘了领券,省下的都是赚到的!
说了这么多技术干货,最后来点实在的。虽然这次用的是免费证书,但如果你以后需要更高阶的功能,比如企业级OV/EV证书、多域名支持、通配符证书等,阿里云也有非常靠谱的付费产品。而且现在新用户还有超值优惠!
我特意帮你找了个入口,点击阿里云优惠券,能直接领取新人礼包,买服务器、买域名、升级证书都能用,立减几百上千都不是问题。反正不要白不要,早领早省钱!
安全无小事,动手才能赢
看到这里,你应该已经掌握了用阿里云SSL证书部署Nginx和Apache的全套流程。从申请、下载、上传到配置、重启,每一步都不难,关键是要敢动手。别总觉得“搞服务器很危险”,其实只要按步骤来,出错也能很快恢复。
现在的互联网环境,没有HTTPS的网站就像没关门的店铺,谁都不敢进来逛。花一两个小时把这件事做了,换来的是用户的信任、搜索引擎的青睐,以及自己心里的踏实。
别再等了。打开你的服务器,照着这篇文章一步一步来,今晚就让你的网站挂上小绿锁。
内容均以整理官方公开资料,价格可能随活动调整,请以购买页面显示为准,如涉侵权,请联系客服处理。
本文由星速云发布。发布者:星速云。禁止采集与转载行为,违者必究。出处:https://www.67wa.com/149548.html