腾讯云配置SSL证书并禁止通过IP访问网站

获取SSL证书

阿里云和腾讯云每年有20个免费证书额度,不过每个证书只有一年有效期。
登录腾讯云控制台-SSL证书

域名验证方式选择 手动DNS验证

复制红框内容并添加到域名解析


解析后完成创建,大概1分钟证书就签发下来了。

点击右侧下载,选择Nginx

下载会得到一个带着域名的压缩文件,解压它
里面包含.csr .key .crt .pem四个后缀的文件

配置SSL证书

宝塔面板

以记事本方式打开.key.pem文件

登录宝塔面板->网站->你的域名
将两个文件里面的内容分别复制到密钥和证书处,保存。

Typecho

打开WinSCP或者其他FTP软件登录到服务器
将.crt .key证书上传到/usr/local/lighthouse/softwares/nginx/conf

编辑/usr/local/lighthouse/softwares/nginx/conf/include/typecho.conf
将前面的server {替换成

server {
#禁止通过ip访问http
listen 80 default_server;
listen [::]:80 default_server;
server_name _;
return 444;
}
server {
#禁止通过ip访问https
listen 443 ssl default_server;
listen [::]:443 ssl default_server;
#ssl on;
ssl_certificate /1.crt; 
ssl_certificate_key /1.key; 
server_name _;
return 444;
}
server {
listen 80;
#填写绑定证书的域名
server_name klyang.com; 
rewrite ^(.*) https://$server_name$1 permanent;
}
server {
listen 443 ssl;
#填写绑定证书的域名
server_name klyang.com;
#填写证书文件的路径
ssl_certificate /usr/local/lighthouse/softwares/nginx/conf/klyang.com_bundle.crt; 
#填写私钥文件的路径
ssl_certificate_key /usr/local/lighthouse/softwares/nginx/conf/klyang.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.2 TLSv1.3;
ssl_prefer_server_ciphers on;
location / {
#网站主页路径。例如,你的网站主页在 Nginx 服务器的 /etc/www 目录下,则请修改 root 后面的 /usr/local/lighthouse/softwares/typecho 为 /etc/www。
root /usr/local/lighthouse/softwares/typecho;
index index.php index.html;}

复制后记得将klyang.com替换成你的域名!

保存后使用PuTTY工具登录服务器,输入以下命令

cd /usr/local/lighthouse/softwares/nginx/sbin
./nginx -s reload

再次使用域名访问时,http将自动跳转为https。