电脑课堂
柔彩主题三 · 更轻盈的阅读体验

网站启用HTTPS步骤详解

发布时间:2025-12-14 21:19:04 阅读:439 次

为什么你的网站需要HTTPS

打开浏览器,访问一个没有“小锁”图标的网站时,地址栏会显示“不安全”。这不仅让用户心里打鼓,连搜索引擎也开始对这类站点降权。尤其是做电商、会员登录或者表单提交的网站,数据明文传输等于把密码和信息贴在大街上。

启用HTTPS后,数据在用户和服务器之间全程加密,中间人偷看不了,篡改不了。现在大多数浏览器还会对非HTTPS页面直接标红警告,逼着站长升级。

获取SSL证书:第一步

HTTPS的核心是SSL/TLS证书。你可以从云服务商免费申请,比如阿里云、腾讯云都提供为期一年的DV型免费证书。进入控制台,找到“SSL证书”服务,点击申请,填写域名,验证所有权即可。

如果是个人博客或测试站,Let's Encrypt也是个好选择,自动化脚本acme.sh能帮你几分钟内搞定签发。

上传证书到服务器

申请通过后,你会下载到一个压缩包,里面通常包含两个文件:一个以.crt结尾的公钥,一个以.key结尾的私钥。登录你的服务器,把它们放到统一目录,比如/etc/ssl/certs//etc/ssl/private/

Nginx配置示例

如果你用的是Nginx,打开站点配置文件,比如/etc/nginx/sites-available/your-site,改成这样:

server {
    listen 443 ssl;
    server_name example.com www.example.com;

    ssl_certificate /etc/ssl/certs/example.com.crt;
    ssl_certificate_key /etc/ssl/private/example.com.key;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512;

    root /var/www/html;
    index index.html;
}

别忘了把原来的80端口监听保留一份,用来做跳转:

server {
    listen 80;
    server_name example.com www.example.com;
    return 301 https://$host$request_uri;
}

Apache怎么配

Apache用户也不用慌。确认mod_ssl已启用,然后在虚拟主机配置里加上:

<VirtualHost *:443>
    ServerName example.com
    DocumentRoot /var/www/html

    SSLEngine on
    SSLCertificateFile /etc/ssl/certs/example.com.crt
    SSLCertificateKeyFile /etc/ssl/private/example.com.key

    <Directory /var/www/html>
        AllowOverride All
    </Directory>
</VirtualHost>

重启Apache:sudo systemctl restart apache2,刷新网页试试。

检查是否生效

改完配置别急着庆祝。打开浏览器,输入网址,看地址栏有没有绿色小锁。按F12,切换到“Security”标签,能看到连接协议是不是TLS 1.2以上,证书是否有效。

还可以用在线工具检测,比如SSL Labs的SSL Test,输入域名,它会告诉你配置有没有漏洞,比如是否支持旧协议、是否存在弱加密套件。

处理混合内容警告

即使启用了HTTPS,页面里如果还引用了HTTP的图片、JS或CSS,浏览器依然会报“不安全”。这时候要检查源码,把所有http://开头的资源链接换成相对协议//example.com/script.js或者直接写https://

WordPress用户可以在后台设置里把“站点地址”和“首页地址”都改成https,再装个插件如“Really Simple SSL”,自动处理内部链接转换。

强制全站走HTTPS

偶尔有访客手动输http开头的网址,得让他们自动跳过来。Nginx和Apache前面已经写了301跳转。如果你用CDN,比如Cloudflare,可以在“SSL/TLS”选项里选“Full”模式,并开启“Always Use HTTPS”开关,一键搞定。