1.购买域名及绑定
我是在腾讯云上购买的 地址; 打开页面即可选择自己喜欢的域名进行购买(前提是未被注册的域名哈)。
-
购买好域名后你还需要解析地址,否则别人通过该域名是无法得知实际的公网IP地址。这里使用腾讯云的云解析功能,依次选择:云产品->域名服务->云解析
-
这里需要做进一步的设置,比如,在更多选项卡中,开启CNAME加速,开启搜索引擎推送
-
接着点击解析选项,进入添加记录的控制台,可以看到已经存在两条记录,对于www服务,一般我们还需要添加一条A记录,即 记录类型为A(将域名指向一个IPv4地址) 主机记录为www(就是域名的前缀) 线路类型默认即可 记录值填写你购买的云主机的公网IP TTL选择10分钟即可(即在DNS服务器缓存中的刷新时间)
-
这样子我们就完成了域名注册与解析工作,等待大约10分钟后,我们可以进行测试。在linux下ping该域名,看看是否能够ping通,并且查看返回的IP地址是否是云主机的公网IP
-
除了ping命令,我们在ssh远程登陆的时候再也不需要记或者去查云主机的公网IP了,直接使用域名即可,比如ssh ubuntu@www.wujianbo.com,然后输入密码就能成功登陆
这时在地址栏输入wujianbo.com即可打开你以前用公网ip才能打开的网站。
2.下载证书
地址在https://console.qcloud.com/ssl
点击申请证书逐步操作就可完成,审核通过后就可以点击下载把证书下载到本地,解压后会有三个文件夹对nginx/Apache/IIS,因为我的服务器安装的nginx,所以我只需要nginx文件,把nginx重新命名为 certnginx,这是一个目录文件,里面包含两个文件,文件后缀分别为 .key 和 .crt。然后把文件 certnginx 上传到我的ubuntu服务器上,命令如下:
scp -r certnginx ubuntu@123.206.52.223:
然后登录到ubuntu服务器,把刚才上传的 certnginx 目录文件放置到 Nginx 的安装目录下,设置 certnginx 文件夹的权限:
sudo mv ~/certnginx /etc/nginx
cd /etc/nginx
sudo chown root:root certnginx
sudo chmod 755 certnginx
然后,设置 certnginx 目录中每个文件的权限:
cd /etc/nginx/certnginx
sudo chown root:root xxx.key xxx.crt
sudo chmod 644 xxx.key xxx.crt
3.部署https
在未购买域名时你的nginx配置是这样的
sudo vim /etc/nginx/sites-enabled/haoqi-lab.conf
server{
listen 80;
server_name wujianbo.com;
root /home/ubuntu/haoqi-lab;
}
购买域名后你的nginx配置就是这样的:
sudo vim /etc/nginx/sites-enabled/haoqi-lab.conf
server{
listen 80;
server_name wujianbo.com;
root /home/ubuntu/haoqi-lab;
}
server {
listen 443 ssl default_server;
server_name wujianbo.com;
ssl on;
ssl_certificate /etc/nginx/certnginx/1_www.wujianbo.com_bundle.crt;
ssl_certificate_key /etc/nginx/certnginx/2_www.wujianbo.com.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;
ssl_prefer_server_ciphers on;
location / {
root /home/ubuntu/haoqi-lab;
index index.html index.htm;
}
}
修改了配置文件之后,需要重新加载一下,修改才能生效:
sudo service nginx reload
所以工作完成之后,就可以访问 HTTPS 协议的网址了 https://wujianbo.com,说明数字证书已经生效了。不过,这会儿直接在浏览器地址栏中输入 haoqicat.com,网站会报告502错误。
4.HTTP 重定向到 HTTPS
直接访问网址 wujianbo.com 使用的是 HTTP 协议,用的是80端口,现在我们的 Nginx 服务器支持的是 HTTPS 协议,监听的是443端口,所以需要把 HTTP 协议的请求重定向到 HTTPS 协议,继续修改wujianbo域名对应的配置,在文件的开头添加下面几行语句:
server {
listen 80;
server_name wujianbo.com;
return 301 https://$server_name$request_uri;
}
保存文件,运行下面命令,重新加载一下配置文件:
sudo service nginx reload
现在,再到浏览器中访问 wujianbo.com,会重定向到 https://wujianbo.com,一切工作正常。