技术存档:建站(二),升级https

在被http劫持的广告坑过以后,就想着之后要弄网站就搞https的。大过年闲着没事,买了云服务器,把本身的域名从新解析绑定了一遍,最后升级成了https

阿里云服务器ESC购买时间:2018-02-19
系统和版本:CentOS 7.x
web服务器:nginx(根据我的需求而定)html

好久没用过,发现ESC多了个安全组规则的东西。各端口须要配置对应的受权规则才能访问,总体安全性更高了。nginx

当前网站选择最简单的DV证书便可,花了一点时间查资料后,选择申请Let`s Encrypt免费SSL证书。git

Let’s Encrypt is a free, automated, and open Certificate Authority.

1、HTTP环境

配置完成后能正常访问http环境便可

一、web服务器安装

# 安装nginx
yum install nginx -y
# 启动
systemctl start nginx

二、配置安全组规则策略

默认会有提示,或者在云服务器ESC中二级菜单下,找到安全组,而后配置规则添加安全组规则,http和https规则配置如图github

clipboard.png

三、域名解析配置(略)

2、SSL证书

一、证书生成和配置

可直接使用 Certbot 工具生成和配置SSL证书:web

# 安装git
yum install git -y
# 下载工具到本地
git clone https://github.com/certbot/certbot.git
cd certbot/
# 这里是配置nginx服务,请根据状况运行对应命令,具体请阅读Certbot文档
./certbot-auto --nginx

根据提示输入对应命令,如邮箱、选择是否继续、须要认证的域名(空格隔开)等,邮箱须要点击认证。部分命令配置用于生成本地nginx.conf配置,显示以下:安全

clipboard.png

二、SSL安全组规则策略

配置安全组规则策略图片中的443端口须要开启服务器

三、重启服务并测试

nginx.conf文件将被Certbot工具自动配置完成,配置完成代码以下工具

server {
    server_name lxlazy.com; # managed by Certbot
    root         /usr/share/nginx/html;

    # Load configuration files for the default server block.
    include /etc/nginx/default.d/*.conf;

    location / {
    }

    error_page 404 /404.html;
        location = /40x.html {
    }

    error_page 500 502 503 504 /50x.html;
        location = /50x.html {
    }

    listen [::]:443 ssl ipv6only=on; # managed by Certbot
    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/lxlazy.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/lxlazy.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}

server {
    if ($host = lxlazy.com) {
        return 301 https://$host$request_uri;
    } # managed by Certbot

    listen       80 ;
    listen       [::]:80 ;
    server_name lxlazy.com;
    return 404; # managed by Certbot
}

将默认的server配置注释掉后,重启nginx,测试效果测试

systemctl restart nginx

3、其余

一、nginx重启出错解决办法

重启可能遇到如下问题 invalid PID number "" in "/var/run/nginx.pid",或nginx -c still could not bind网站

# 先查看配置,再看端口,解除端口占用后重启nginx,通常均可以解决问题
# 配置
nginx -t
# 端口
netstat -ntlp

实在不行重启主机吧……

二、部署结果

clipboard.png

相关文章
相关标签/搜索