电话

0411-31978321

搭建https网站要花多少钱?这几种方案随你选!

标签: 2025-04-18 

嗨,大家今天来跟大家伙儿聊聊我是咋搭建HTTPS网站的。这年头,网站不搞个HTTPS,总感觉差点儿意思,安全性不够嘛我就动手折腾一番,把过程记录下来,也方便以后自己查阅,顺便分享给有需要的朋友们。

准备工作

你得有个域名,还得有个服务器,这俩是基础,我就不多说。我,域名是在阿里云买的,服务器用的是腾讯云的轻量应用服务器,系统是Ubuntu 20.04。有这些,咱就可以开工!

搞到SSL证书

要让网站支持HTTPS,就得有个SSL证书。这玩意儿有免费的,也有收费的。我一开始图省事,想搞个免费的,后来发现免费的证书有效期短,老得续期,太麻烦!干脆一咬牙,买个收费的,一年期的,省心!

我是在阿里云买的SSL证书,买完之后,它会让你验证域名所有权。一般有两种方式:

  • DNS验证:就是在你的域名解析记录里加一条TXT记录,阿里云那边能查到这条记录,就说明域名是你的。
  • 文件验证:就是在你的网站根目录下放一个特定的文件,阿里云那边能访问到这个文件,也算验证通过。

我选的是DNS验证,比较简单,按着阿里云的提示一步步操作就行。验证通过后,阿里云就会给你签发证书。

服务器上安装证书

证书到手,接下来就是把它安装到服务器上。我用的是Nginx,所以就以Nginx为例说说怎么安装。

把证书文件(通常是.crt和.key文件)上传到服务器。我习惯把它们放到/etc/nginx/ssl目录下,没有这个目录就自己创建一个。

然后,修改Nginx的配置文件。找到你的网站对应的配置文件,一般在/etc/nginx/sites-available目录下。打开配置文件,找到server块,在里面加上这些:

listen 443 ssl;

ssl_certificate /etc/nginx/ssl/你的证书.crt;

ssl_certificate_key /etc/nginx/ssl/你的证书.key;

ssl_protocols TLSv1.2 TLSv1.3;

ssl_ciphers 'TLS_AES_128_GCM_SHA256:TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384';

ssl_prefer_server_ciphers on;

解释一下:

  • listen 443 ssl;:让Nginx监听443端口,这是HTTPS的默认端口。
  • ssl_certificatessl_certificate_key:指定证书文件的路径。
  • ssl_protocols:指定支持的SSL/TLS协议版本,我这里只启用TLS 1.2和TLS 1.3,更安全。
  • ssl_ciphers:指定加密算法,这一串看着复杂,是从网上抄的,据说是比较安全的配置。
  • ssl_prefer_server_ciphers on;:让服务器优先使用自己指定的加密算法。

改完配置文件,保存,然后重启Nginx:

sudo systemctl restart nginx

配置HTTP自动跳转到HTTPS

你的网站已经可以通过HTTPS访问。但是,如果你直接输入域名,还是会通过HTTP访问。为让所有访问都走HTTPS,还得再配置一下,让HTTP自动跳转到HTTPS。

还是在Nginx的配置文件里,找到原来的server块(监听80端口的那个),改成这样:

server {

listen 80;

server_name 你的域名;

return 301 https://$host$request_uri;

解释一下:

  • 这段配置的意思是,所有通过80端口访问的请求,都返回301重定向,跳转到HTTPS对应的地址。

改完保存,再重启Nginx:

sudo systemctl restart nginx

大功告成!

不管你输入HTTP还是HTTPS,都会自动跳转到HTTPS。打开浏览器,输入你的域名,看看地址栏是不是有个小锁头?这就表示你的网站已经成功启用HTTPS!

整个过程就是这样,也不算太复杂。关键是要细心,一步步来,别漏哪个环节。希望我的这篇分享能帮到大家!