域名注册
我是2023年03月12日在阿里云注册的域名,现在阿里云服务器到期了,又重新租了腾讯云服务器。
ICP备案
如果之前备案过了,只要网站的内容方向没变,好像就不用重新备案,可以直接进行域名解析。
如果域名是在阿里注册的,服务器是腾讯云,则需要在腾讯云重新备案。
我的域名是阿里云,服务器是腾讯云,之前在阿里云备案过,现在需要接入备案,不用重新备案。
接入备案,竟然也这么麻烦,之后还有4个步骤,自己看着填就行:
账号实名认证24小时后才可进行备案:
域名解析(阿里云)
免费解析
我使用的是免费解析
点击“修改”
添加解析
点击添加记录
或新手引导
,用哪一个都可以。
添加记录,@表示主域名
新手引导
付费解析
提供其他功能,免费和付费对比:
配置域名(http)
编辑之前文章中复制的配置文件
sudo vim /etc/nginx/sites-enabled/jiuyu.site.conf
修改server_name为自己的域名
修改前
修改后
保存退出
配置多个域名访问一个网站
前面域名解析时,解析了两个域名到自己的服务器(ip地址),子域名www.jiuyu.site
和主域名jiuyu.site
,下面将主域名也配置一下。主域名只有一个,子域名可以创建多个。
方法1:复制
sudo cp /etc/nginx/sites-enabled/jiuyu.site.conf /etc/nginx/sites-enabled/jiuyu.site_2.conf
sudo vim /etc/nginx/sites-enabled/jiuyu.site_2.conf
修改server_name为主域名,之前填的是www.主域名。
方法2:继续修改/etc/nginx/sites-enabled/jiuyu.site.conf
文件,写入多个域名,用空格分隔:
sudo vim /etc/nginx/sites-enabled/jiuyu.site.conf
重启nginx
sudo service nginx restart
浏览器访问
浏览器地址栏输入:http://域名
我的:http://www.jiuyu.site或http://jiuyu.site,因为域名解析并配置了这两个域名,子域名、主域名。
其他认证
SSL证书
数字证书管理服务(原SSL证书)即https证书,有了它才能使用https协议,默认是http协议。
https是http的安全版本。
免费SSL证书
付费SSL证书
免费和付费SSL证书有差别
安装免费SSL证书(配置域名https)
现在阿里云的免费SSL证书,有效期由12个月缩短为了3个月。
腾讯云免费SSL证书,有效期12个月。
安装腾讯云免费SSL证书(配置域名https)
我是在阿里云解析到腾讯云,所以不能自动DNS验证。
方法一:手动DNS验证
到阿里云添加腾讯云DNS记录
下载证书到本地
SSL证书根据服务器的不同,有不同的类型,我的是Nginx。
解压,得到4个文件:
.key格式的证书私钥文件
;
.crt格式的证书文件
;
.pem格式的证书文件
是采用Base64编码的文本文件,您可以根据需要将证书文件修改成其他格式;
.csr 格式的CSR 文件
。
在Nginx独立服务器上安装证书
-
ssh登录服务器
-
在Nginx安装目录(默认为/etc/nginx/conf.d)下创建一个用于存放证书的目录。
cd /etc/nginx/conf.d sudo mkdir cert
-
将证书文件和私钥文件上传到Nginx服务器的证书目录(示例中为/etc/nginx/conf.d/cert)
将解压得到的所有文件,上传到创建的cert
目录scp -r 本地证书目录 服务器ip:/etc/nginx/conf.d/cert
上传后,服务器:
-
修改网站配置文件
sudo vim /etc/nginx/sites-enabled/jiuyu.site.conf
取消443端口的注释
修改前:
修改后,取消注释并删除两个default_server
:
添加ssl证书路径 和 相关设置(在上图两个443端口
的下方配置即可)# 前两行只需要其中一个,哪一行都可以 ssl_certificate /etc/nginx/conf.d/cert/jiuyu.site_nginx/jiuyu.site_bundle.crt; ssl_certificate /etc/nginx/conf.d/cert/jiuyu.site_nginx/jiuyu.site_bundle.pem; ssl_certificate_key /etc/nginx/conf.d/cert/jiuyu.site_nginx/jiuyu.site.key; ssl_session_timeout 5m; ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4; ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_prefer_server_ciphers on;
设置HTTP请求自动跳转HTTPS(可选)
注释掉前面的80端口,只保留443端口:
新添加一个server:server { listen 80; listen [::]:80; #请填写绑定证书的域名 server_name 绑定了证书的域名; # 一个域名 #server_name 主域名 子域名1 子域名2; # 多个域名用空格分隔 #把http的域名请求转成https,一下4行都可以用 return 301 https://$host$request_uri; #rewrite ^(.*) https://域名$1 permanent; # 示例:rewrite ^(.*) https://www.baidu.com$1 permanent; 和 rewrite ^(.*) https://baidu.com$1 permanent; 等 #rewrite ^(.*) https://$host$1 permanent; #rewrite ^(.*) https://$host$request_uri permanent; }
-
保存退出
重启nginx
sudo service nginx restart
大功告成
方法二:自动DNS验证
将域名添加到腾讯云,并到阿里云修改DNS服务器为腾讯云,再选择自动DNS验证。
阿里云修改DNS服务器
修改后要等一段时间(大概十几分钟),才会更新DNS;更新后,进行自动DNS验证即可,点点鼠标就行。
如果服务器使用的是不支持的镜像
,仍然需要手动DNS验证(手动安装ssl证书):
转手动DNS验证的下载证书到本地
。