Post

部署https服务

部署https服务

管局审核终于过了,开始折腾我的服务器

DNS解析

在域名解析种添加记录,一个www起头,一个@起头,解析到云服务器公网IP

Nginx

1. 安装 Nginx

1
2
3
4
5
6
7
# Ubuntu/Debian
sudo apt update
sudo apt install nginx

# CentOS/RHEL
sudo yum install nginx
# 或 dnf install nginx

2. 配置 Nginx

1
2
3
4
5
6
# 创建网站根目录
sudo mkdir -p /var/www/bane.fit

# 设置正确的权限
sudo chown -R www-data:www-data  /var/www/bane.fit
sudo chmod -R 755 /var/www/bane.fit

创建网站配置文件:

1
sudo vi /etc/nginx/sites-available/bane.fit

添加配置:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
server {
    listen 80;
    listen [::]:80;
    
    root /var/www/bane.fit;
    index index.html index.htm;
    
    server_name bane.fit www.bane.fit;
    
    location / {
        try_files $uri $uri/ =404;
    }
    
    # 启用 gzip 压缩
    gzip on;
    gzip_vary on;
    gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
    
    # 设置缓存
    location ~* \.(css|js|png|jpg|jpeg|gif|ico|svg)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
    }
}

3. 启用网站

1
2
3
4
5
6
7
8
9
# 创建软链接
sudo ln -s /etc/nginx/sites-available/bane.fit /etc/nginx/sites-enabled/

# 测试配置
sudo nginx -t

# 重启 Nginx
sudo systemctl restart nginx
sudo systemctl enable nginx

4. 创建网站目录和文件

1
2
3
4
5
# 创建目录
sudo mkdir -p /var/www/bane.fit

# 创建测试页面
sudo nano /var/www/bane.fit/index.html

简单的测试页面:

1
2
3
4
5
6
7
8
9
10
<!DOCTYPE html>
<html>
<head>
    <title>Welcome to bane.fit</title>
</head>
<body>
    <h1>Welcome to bane.fit!</h1>
    <p>Your website is working!</p>
</body>
</html>

5.使用 Let’s Encrypt 免费 SSL 证书

1
2
3
4
5
6
7
8
9
10
# 安装 Certbot
sudo apt install certbot python3-certbot-nginx

# 获取证书
sudo certbot --nginx -d bane.fit -d www.bane.fit
sudo nginx -t
sudo systemctl reload nginx

# 检查自动续期
sudo certbot renew --dry-run

重要检查项

防火墙设置

1
2
3
4
5
# 开放 HTTP 和 HTTPS 端口
sudo ufw allow 'Nginx Full'
# 或者
sudo ufw allow 80
sudo ufw allow 443

在阿里云安全组设置开启80/443端口

文件权限

1
2
sudo chown -R www-data:www-data /var/www/bane.fit
sudo chmod -R 755 /var/www/bane.fit

测试域名解析

1
2
3
# 检查域名是否正确解析
nslookup bane.fit
ping bane.fit
This post is licensed under CC BY 4.0 by the author.
Total hits!