域名、证书提升自建dnslog平台的安全性

2024-09-04 00:05:52 浏览数 (2)

使用nginx反向代理实现dnslog平台通过域名访问,并为该域名添加ssl证书,提升自行搭建dnslog平台的安全性。

文章分为三部分:第一部分nginx反代配置、第二部分cloudflare域名解析配置、第三部分证书安装。

前置信息:

1、dnslog平台部署在8000端口,dnslog平台项目地址:https://github.com/lanyi1998/DNSlog-GO

2、通过bash命令安装并启动nginx,默认没有/etc/nginx/sites-available/和/etc/nginx/sites-enabled/目录

3、使用cloudflare进行CDN解析的配置已完成

nginx反向代理配置

手动创建目录

首先创建/etc/nginx/sites-available/和/etc/nginx/sites-enabled/目录

代码语言:bash复制
sudo mkdir -p /etc/nginx/sites-availablesudo mkdir -p /etc/nginx/sites-enabled

打开并更新 nginx.conf配置文件内容

代码语言:bash复制
sudo nano /etc/nginx/nginx.conf

添加以下内容,确保 Nginx 包含 sites-enabled 目录中的配置文件:

代码语言:bash复制
include /etc/nginx/sites-enabled/*;

保存并退出

代码语言:bash复制
Ctrl   o  #保存 

Ctrl   X  #退出
配置Nginx进行反向代理

创建你的网站的配置文件

代码语言:bash复制
sudo nano /etc/nginx/sites-available/--your_domain--

在配置文件中添加如下内容:

代码语言:bash复制
server {
    listen 80;
    server_name --your_domain--;

    location / {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }

    access_log /var/log/nginx/dnslog_access.log;
    error_log /var/log/nginx/dnslog_error.log;
}

启用站点配置

代码语言:bash复制
sudo ln -s /etc/nginx/sites-available/--your_domain-- /etc/nginx/sites-enabled/

配置完成后,检查配置是否正确

代码语言:bash复制
 nginx -t 

重启 Nginx

代码语言:bash复制
sudo systemctl restart nginx

cloudflare域名解析配置

添加子域名的A记录

添加子域名的A记录

证书安装

使用Let's Encrypt免费SSL证书:

安装Certbot:Certbot是用于获取免费SSL证书的工具

代码语言:bash复制
sudo apt install certbot python3-certbot-nginx

获取并自动配置SSL证书:Certbot可以自动获取证书并配置Nginx,执行命令后需要填写邮箱进行确认

代码语言:bash复制
sudo certbot --nginx -d --your_domain-- -d --www.your_domain--

自动续订SSL证书

代码语言:bash复制
sudo crontab -e

添加以下行以每天检查并自动续订

代码语言:bash复制
0 3 * * * certbot renew --quiet

完成以上所有操作后,可为自行搭建的dnslog平台添加域名和证书。

声明

所有内容的初衷只是分享本人的学习收获,对于因读者不当使用或修改本文内容的任何损失,作者不承担任何直接或间接的连带责任。

文章内容如有不妥,烦请大家联系修改,谢谢大佬们批评指正。

0 人点赞