网站安全不再是可选项,而是必备项,看着浏览器地址栏那个醒目的“不安全”提示,不仅访客会犹豫是否信任你的站点,搜索引擎也会默默调低你的排名,想让网站挂上那把代表安全的“小锁”?阿里云SSL证书是实现这一目标的高效途径,下面,就手把手教你如何在你的主机(服务器)上部署阿里云SSL证书。
为什么非得是HTTPS?
简单说三点:
1、数据加密:用户在你网站上输入的密码、银行卡号、个人信息,在传输过程中会被加密,防止被窃听。
2、身份认证:向访客证明“你真的是你”,不是钓鱼网站,浏览器显示公司名称的绿色地址栏(EV证书)是最高级的信任标识。
3、SEO加成:谷歌、百度等主流搜索引擎明确表示,HTTPS是排名因素之一,没有HTTPS,想在搜索结果中抢占先机难上加难。
4、信任感提升:地址栏的绿色小锁是安全感的直观体现,显著提升用户停留时间和转化率。
准备工作:拥有一个域名和服务器
这步是基础,你需要:
1、 一个已经注册并完成实名认证的域名(yourdomain.com
)。
2、 一台运行中的服务器(虚拟主机、云服务器ECS、轻量应用服务器等都行),并且拥有服务器的管理权限(SSH或FTP等)。
3、 域名已经解析(A记录或CNAME记录)指向你的服务器IP地址。
第一步:在阿里云获取SSL证书
1、登录阿里云控制台:访问 [阿里云官网](https://www.aliyun.com/),登录你的账号。
2、进入SSL证书服务:在控制台首页搜索框输入“SSL证书”或依次进入“产品” > “安全” > “SSL证书(应用安全)”。
3、购买/申请证书:
免费证书(推荐起步)阿里云提供单域名DV免费证书(保护yourdomain.com
和www.yourdomain.com
),点击“购买证书”,在证书类型中选择“免费型DV SSL”,购买时长选1年(到期可免费续签),完成支付(0元)。
付费证书(更高保障)如果需要保护多个子域名(通配符证书*.yourdomain.com
)或需要展示企业名称(OV/EV证书),则选择相应的付费类型(如DigiCert, GlobalSign, CFCA等品牌)购买。
4、证书申请:
* 在“SSL证书”控制台找到你购买(或免费申请)的证书实例,点击“证书申请”。
填写域名准确输入你要保护的域名(如yourdomain.com
,如需保护www
,免费证书会自动包含),通配符证书填写*.yourdomain.com
。
选择验证方式
DNS验证(最常用)系统会提供一条特定的DNS解析记录(TXT或CNAME类型),你需要登录你的域名管理控制台(可能在阿里云云解析DNS,也可能在其他注册商处),添加这条记录,等待DNS生效(通常几分钟到几小时),验证成功后,系统会自动签发证书。
文件验证按提示下载验证文件,将其上传到你网站根目录下的指定路径(如/.well-known/pki-validation/fileauth.txt
),确保能通过http://yourdomain.com/.well-known/pki-validation/fileauth.txt
访问到该文件内容,验证通过后签发证书。
* 填写必要的联系人信息(付费证书需更详细的企业信息)。
* 提交申请,等待审核签发(DV证书通常几分钟内完成;OV/EV需要人工审核,1-7个工作日)。
5、下载证书:证书状态变为“已签发”后,点击“下载”,选择与你的服务器环境匹配的证书格式:
Nginx下载Nginx
格式的证书包(通常包含.pem
或.crt
后缀的证书文件和.key
后缀的私钥文件)。
Apache下载Apache
格式的证书包(通常包含.crt
证书文件和.key
私钥文件,有时会有证书链文件chain.crt
)。
Tomcat/IIS/其他选择对应服务器类型的格式。务必看清说明! 下载的压缩包通常包含:
* 证书文件(如yourdomain.com.pem
,yourdomain.com.crt
)
* 私钥文件(如yourdomain.com.key
)
* (可能包含) 证书链文件(如chain.pem
,ca_bundle.crt
)这个很重要,缺少它可能导致浏览器不信任。
第二步:在主机(服务器)上安装SSL证书
这是关键步骤,操作因服务器操作系统和Web服务器软件(Nginx, Apache, IIS等)不同而差异很大,这里以最常见的 Linux + Nginx / Linux + Apache 为例说明核心思路:
核心思想:将证书文件上传到服务器,修改Web服务器配置,启用443端口监听并指向证书。
通用步骤 (Nginx & Apache 都适用)
1、连接服务器:使用SSH工具(如PuTTY, Xshell, FinalShell)或FTP/SFTP工具(如FileZilla, WinSCP)连接到你的服务器。
2、创建证书目录:通常将证书文件放在一个安全且Web服务器有权限读取的目录,
sudo mkdir -p /etc/ssl/yourdomain.com # Linux常用位置
3、上传证书文件:将下载的证书文件(.pem
,.crt
)、私钥文件(.key
)和证书链文件(如果有)上传到刚创建的目录(如/etc/ssl/yourdomain.com/
)。务必确保私钥文件 (.key
) 的权限设置严格(如600
),防止未授权访问!
sudo chmod 600 /etc/ssl/yourdomain.com/yourdomain.com.key
1、编辑Nginx配置文件:找到你网站对应的Nginx虚拟主机配置文件,通常在/etc/nginx/conf.d/
或/etc/nginx/sites-available/
目录下,文件名可能类似yourdomain.com.conf
,使用文本编辑器(如nano
或vim
)编辑:
sudo nano /etc/nginx/conf.d/yourdomain.com.conf
2、修改配置:在原有的监听80端口(HTTP)的server
块下方(或内部修改),添加或修改一个监听443端口(HTTPS)的server
块:
# 原有的HTTP监听 (80端口) - 可选:可以保留做跳转 server { listen 80; server_name yourdomain.com www.yourdomain.com; # 强烈建议添加301重定向到HTTPS return 301 https://$server_name$request_uri; } # 新增或修改的HTTPS监听 (443端口) server { listen 443 ssl http2; # 启用SSL和HTTP/2 server_name yourdomain.com www.yourdomain.com; # 指定证书和私钥路径 (替换成你的实际路径和文件名) ssl_certificate /etc/ssl/yourdomain.com/yourdomain.com.pem; # 证书文件(可能包含证书链) ssl_certificate_key /etc/ssl/yourdomain.com/yourdomain.com.key; # 私钥文件 # 如果下载的证书和证书链是分开的,通常这样配置(阿里云Nginx包通常合并了) # ssl_certificate /etc/ssl/yourdomain.com/certificate.crt; # ssl_certificate_key /etc/ssl/yourdomain.com/private.key; # ssl_trusted_certificate /etc/ssl/yourdomain.com/chain.pem; # 证书链文件 # 重要的SSL协议和加密套件配置(提升安全性) ssl_protocols TLSv1.2 TLSv1.3; # 禁用不安全的旧协议 ssl_prefer_server_ciphers on; ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH'; # 推荐的安全套件 ssl_ecdh_curve secp384r1; # 使用更强的椭圆曲线 ssl_session_timeout 10m; ssl_session_cache shared:SSL:10m; ssl_session_tickets off; # 推荐关闭 ssl_stapling on; # 开启OCSP装订提升验证速度 ssl_stapling_verify on; # 网站根目录和其他配置(与你的HTTP配置一致) root /var/www/yourdomain.com/html; index index.html index.htm index.nginx-debian.html; location / { try_files $uri $uri/ =404; } # 可以添加HSTS头部(增强安全,但要谨慎) # add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always; }
3、检查配置并重启Nginx:
sudo nginx -t # 测试配置文件语法是否正确
如果显示syntax is ok
和test is successful
,则重启Nginx
sudo systemctl restart nginx # 或 sudo service nginx restart (取决于系统)
1、启用SSL模块:
sudo a2enmod ssl
2、编辑Apache虚拟主机配置文件:找到你的站点配置文件(可能在/etc/apache2/sites-available/
下,如yourdomain.com.conf
或000-default.conf
),或者创建一个新的SSL专用配置文件(如yourdomain-ssl.conf
),编辑文件:
sudo nano /etc/apache2/sites-available/yourdomain-ssl.conf
3、配置HTTPS站点:
<VirtualHost *:443> ServerName yourdomain.com ServerAlias www.yourdomain.com DocumentRoot /var/www/yourdomain.com/html # 你的网站根目录 # 指定SSLEngine启用 SSLEngine on # 指定证书文件、私钥文件和证书链文件路径 (替换成你的实际路径和文件名) SSLCertificateFile /etc/ssl/yourdomain.com/yourdomain.com.crt # 证书文件 SSLCertificateKeyFile /etc/ssl/yourdomain.com/yourdomain.com.key # 私钥文件 # 如果证书链文件是单独的(阿里云Apache包通常需要) SSLCertificateChainFile /etc/ssl/yourdomain.com/chain.crt # 证书链文件 (或 ca_bundle.crt) # (可选) 同样可以配置强化的SSL协议和加密套件 SSLProtocol all -SSLv2 -SSLv3 -TLSv1 -TLSv1.1 SSLCipherSuite EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH SSLHonorCipherOrder on Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" Header always set X-Frame-Options DENY Header always set X-Content-Type-Options nosniff # 其他目录配置、日志设置等... <Directory /var/www/yourdomain.com/html> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory> ErrorLog ${APACHE_LOG_DIR}/yourdomain_error.log CustomLog ${APACHE_LOG_DIR}/yourdomain_access.log combined </VirtualHost> # (可选但强烈推荐) 配置HTTP强制跳转到HTTPS <VirtualHost *:80> ServerName yourdomain.com ServerAlias www.yourdomain.com Redirect permanent / https://yourdomain.com/ </VirtualHost>
4、启用站点并重启Apache:
sudo a2ensite yourdomain-ssl.conf # 启用你刚配置的SSL站点 sudo systemctl restart apache2 # 或 sudo service apache2 restart
第三步:验证与后续工作
1、访问测试:在浏览器中输入https://yourdomain.com
,你应该能看到地址栏显示安全的小锁图标(🔒),点击小锁可以查看证书详情,确认是由阿里云签发的且信息正确。
2、检查混合内容:如果网站页面加载了HTTP资源(如图片、JS、CSS),浏览器可能显示“不安全”或“连接部分安全”,你需要将网站内所有资源的链接都改为https://
或使用协议相对路径//
,浏览器开发者工具(F12)的“Console”或“Security”标签页会指出具体的HTTP资源。
3、设置HTTP强制跳转HTTPS:如上面配置示例所示,强烈建议将80端口的所有HTTP请求通过301重定向到HTTPS版本,这确保了用户和搜索引擎都访问安全的链接,代码示例已在Nginx和Apache配置中给出。
4、证书续期:免费证书有效期1年,付费证书1-2年不等。务必在到期前续期! 阿里云控制台会提前发送续费提醒,续期流程通常与初次申请类似(重新验证域名所有权),签发新证书后,下载并替换服务器上的旧证书文件,然后重启Web服务(Nginx/Apache)即可,可以设置自动续期任务(如使用acme.sh脚本)省心省力。
写在最后
部署HTTPS不再是大型网站的专利,阿里云提供的免费SSL证书让每个站长都能轻松迈入安全时代,整个过程看似步骤不少,但核心就是“申请证书”和“配置服务器”两步,按照指南操作,遇到问题多查资料(阿里云文档非常详尽),通常都能搞定,作为一名运维过不少网站的站长,我深知安全无小事,看着自己网站挂上绿锁,访客数据安全了,搜索引擎更友好了,那份踏实感绝对值得投入这半天时间,别犹豫了,今天就动手给你的网站加上这把“安全锁”吧。
文章摘自:https://idc.huochengrm.cn/zj/11966.html
评论