更换vps以及相关配置
2017/9/20大约 2 分钟约 535 字
前言
博客已经许久没有更新,现在更新下 使用了 新的vps,启用ssl http2 。
那么久不更新博客,主要是懒了, 平时学的东西习惯记到纸上,很少会想起有个博客可以记些东西。
VPS配置
Nginx
我的VPS是debian9 的系统
添加nginx的官方源
deb http://nginx.org/packages/debian/ stretch nginx
deb-src http://nginx.org/packages/debian/ stretch nginx导入KEY 然后安装nginx
wget http://nginx.org/keys/nginx_signing.key && apt-key add nginx_signing.key
apt-get update && apt-get install nginx启动nginx
services nginx start配置nginx
配置文件路径 /etc/nginx/nginx.conf
添加以下内容 然后重启nginx服务
server
{
listen 80;
server_name vistazx1.top;
index index.html index.htm index.php default.html default.htm default.php;
root /www/hexo;
#error_page 404 /404.html;
location ~ .*\.(ico|gif|jpg|jpeg|png|bmp|swf)$
{
access_log off;
expires 1d;
}
location ~ .*\.(js|css|txt|xml)?$
{
access_log off;
expires 12h;
}
location / {
try_files $uri $uri/ =404;
}
}用Let's Encrypt 生成证书
此时应该先做好域名的dns解析,否则很可能无法通过。
打开certbot https://certbot.eff.org/ 选择好系统和软件,跟着步骤来即可
apt-get install certbot
certbot certonly很快就会提示成功
证书自动续签
由于证书只有90天的有效期,不可能总会记得续签这回事
先验证是否可以续签
certbot renew --dry-runCongratulations, all renewals succeeded. The following certs have been renewed
成功,接下来可以配置crontab
crontab -e添加即可
0 3 1 * * /usr/bin/certbot renew #每月一日三点renew
1 3 1 * * service nginx restart # renew 后重启nginx启用SSl
在这里推荐一个网页,可以按要求自动生成你需要的配置文件 Mozilla SSL Configuration Generator
生成2048位的DH-Key(证书密钥交换密钥) 会用很长时间
openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048更新nginx配置文件
按需求复制粘贴即可
需要手动修改的是以下几项
ssl_certificate /path/to/signed_cert_plus_intermediates;
ssl_certificate_key /path/to/private_key;
# Diffie-Hellman parameter for DHE ciphersuites, recommended 2048 bits
ssl_dhparam /path/to/dhparam.pem;重启nginx 配置完成