小电影网站上线之nginx配置不带www域名301重定向到www域名+接入腾讯云安全防护edgeone

背景

写了个电影网站(纯粹搞着玩的),准备买个域名然后上线,但是看日志经常被一些恶意IP进行攻击,这里准备接入腾讯云的安全以及加速产品edgeone,记录下当时的步骤。

一、nginx配置重定向以及日志格式

nginx.conf

user nginx;                                                                                 
#user root;                                                                                 
worker_processes auto;                                                                      
error_log /var/log/nginx/error.log;                                                         
pid /run/nginx.pid;                                                                         
                                                                                            
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.                            
include /usr/share/nginx/modules/*.conf;                                                    
                                                                                            
events {                                                                                    
    worker_connections 1024;                                                                
}                                                                                           
                                                                                            
http {                                                                                      
    include log_format.conf;                                                                
    include upstream.conf;                                                                  
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '               
                      '$status $body_bytes_sent "$http_referer" '                           
                      '"$http_user_agent" "$http_x_forwarded_for"';                         
                                                                                            
    access_log  /var/log/nginx/access.log  main;                                            
    access_log  /var/log/nginx/access.json.log  json_format;                                
                                                                                            
    sendfile            on;                                                                 
    tcp_nopush          on;                                                                 
    tcp_nodelay         on;                                                                 
    keepalive_timeout   65;                                                                 
    types_hash_max_size 2048;                                                               
                                                                                            
    include             /etc/nginx/mime.types;                                              
    default_type        application/octet-stream;
    include /etc/nginx/conf.d/*.conf;                                                       
        include /etc/nginx/default.d/*.conf;                                                
    }

log_format.conf

log_format json_format  escape=json '{"@timestamp":"$time_iso8601",'
                '"@version":"1",'
                '"server_addr":"$server_addr",'
                '"remote_addr":"$remote_addr",'
                '"http_host":"$host",'
                '"uri":"$uri",'
                #'"upstream_response_time":$temprt,'
                '"upstream_addr":"$upstream_addr",'
                '"upstream_status":$upstream_status,'
                '"body_bytes_sent":$body_bytes_sent,'
                '"bytes_sent":$bytes_sent,'
                '"request_method":"$request_method",'
                '"request":"$request",'
                '"request_length":$request_length,'
                '"request_time":$request_time,'
                '"status":"$status",'
                '"http_referer":"$http_referer",'
                '"http_x_forwarded_for":"$http_x_forwarded_for",'
                '"http_user_agent":"$http_user_agent",'
                '"http_x_tc_requestId": "$http_x_tc_requestId",'
                '"body":"$request_body "'
                '}';

default.conf

server {
    listen 80;
    server_name vip04.cn www.vip04.cn;
    return 301 https://www.vip04.cn$request_uri;
}

server {
    listen 443 ssl;
    server_name vip04.cn;
    ssl_certificate /etc/nginx/ssl_certificate/vip04.cn_bundle.crt;
    ssl_certificate_key /etc/nginx/ssl_certificate/vip04.cn.key;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers HIGH:!aNULL:!MD5;
    return 301 https://www.vip04.cn$request_uri;
}
server {
        listen 443 ssl;
        server_name  www.vip04.cn;
        ssl_certificate /etc/nginx/ssl_certificate/vip04.cn_bundle.crt; 
        ssl_certificate_key /etc/nginx/ssl_certificate/vip04.cn.key;
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers HIGH:!aNULL:!MD5;

        location /static {
                alias  /data/flask_demo/12.1/static/;
        }

        location / {
                try_files $uri @yourapplication;
        }
        location ~* /test {
                return 403;
        }
        location ~* /admin.console {
                return 403;
        }
    location @yourapplication {
        include uwsgi_params;
        uwsgi_pass unix:/tmp/logs/movie.sock;
        uwsgi_read_timeout 1800;
        uwsgi_send_timeout 300;
    }
}

二、修改域名解析指向edgeone提供的域名

1、dnspod修改解析在这里插入图片描述

2、eo控制台查看是否生效

在这里插入图片描述

三、配置防护策略

在这里插入图片描述

四、验证是否生效

1、开启拦截策略

浏览器访问vip04.cn测试效果
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

结论
可以看到重定向生效和拦截策略生效(status为567的就是拦截成功)

2、放开拦截策略

浏览器访问vip04.cn测试效果
在这里插入图片描述
在这里插入图片描述
结论
没有触发拦截,符合预期

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/354479.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

C++ 隐式转换构造函数和explicit 关键字学习

据说在内核代码中,多个地方使用了explicit 关键字;下面看一下; 在 C++ 中,隐式转换构造函数指的是当我们将一种类型的值赋给该类对象时,编译器会自动调用相应的构造函数进行类型转换。这样可以使得不同类型之间能够互相赋值或者传参。 具体来说,当一个类有多个构造函数…

【归并排序】【图论】【动态规划】【 深度游戏搜索】1569将子数组重新排序得到同一个二叉搜索树的方案数

本文涉及知识点 动态规划汇总 图论 深度游戏搜索 归并排序 组合 LeetCoce1569将子数组重新排序得到同一个二叉搜索树的方案数 给你一个数组 nums 表示 1 到 n 的一个排列。我们按照元素在 nums 中的顺序依次插入一个初始为空的二叉搜索树(BST)。请你统…

瑞萨RL78G12系列单片机使用IAR软件进行仿真设置及与E2接线

目录 一、单片机与仿真器连接 二、IAR软件在线仿真使用手册 一、单片机与仿真器连接 E1引脚接线图 RL78系列单片机的GND接仿真器的pin2、pin12、pin14 RL78系列单片机的VDD接仿真器的pin8 RL78系列单片机的Tool0接仿真器的pin5 RL78系列单片机的Reset接仿真器的pin10、pin…

【计算机网络】深入掌握计算机网络的核心要点

写在前面 前言四层模型网络地址管理Linux下设置ipARP请求包总结 前言 计算机网络是指将分散的计算机设备通过通信线路连接起来,形成一个统一的网络。为了使得各个计算机之间能够相互通信,需要遵循一定的协议和规范。OSI参考模型和TCP/IP参考模型是计算机…

免费SSL数字证书申请,免费数字证书使用教程

为什么要使用SSL数字证书? 1. 数据加密(SSL数字证书通过使用加密算法对传输的数据进行加密,保证数据在传输过程中不被篡改。) 2. 使用了SSL数字证书,浏览器中不会显示不安全,小程序开通,给你的…

Java基础知识-异常

资料来自黑马程序员 异常 异常,就是不正常的意思。在生活中:医生说,你的身体某个部位有异常,该部位和正常相比有点不同,该部位的功能将受影响.在程序中的意思就是: 异常 :指的是程序在执行过程中,出现的非正常的情况,…

Pandas.DataFrame.mode() 众数 详解 含代码 含测试数据集 随Pandas版本持续更新

关于Pandas版本: 本文基于 pandas2.2.0 编写。 关于本文内容更新: 随着pandas的stable版本更迭,本文持续更新,不断完善补充。 传送门: Pandas API参考目录 传送门: Pandas 版本更新及新特性 传送门&…

452. 用最少数量的箭引爆气球 - 力扣(LeetCode)

题目描述 有一些球形气球贴在一堵用 XY 平面表示的墙面上。墙面上的气球记录在整数数组 points ,其中points[i] [xstart, xend] 表示水平直径在 xstart 和 xend之间的气球。你不知道气球的确切 y 坐标。 一支弓箭可以沿着 x 轴从不同点 完全垂直 地射出。在坐标 …

34.基于51单片机的智能停车位计时收费系统设计

一、系统功能介绍: 本设计基于 RFID智能识别和高速的视频图像和存储比较相结合,通过计算机的图像处理和自动识别,对车辆进出停车场的收费、车牌识别和车位诱导等,以实现停车场全方位智能管理。 本设计是以AT89C51 型单片机为主控芯…

flutter-相关个人记录

1、flutter 安卓打包打包报错 flutter build apk -v --no-tree-shake-icons 2、获取华为指纹证书命令 keytool -list -v -keystore ***.jks 3、IOS项目中私有方法查找隐藏文件中 1、cd 项目目录地址 2、grep -r xerbla. "xerbla"为需要查找的关键字 3…

docker容器运维命令

文章目录 docker psdocker execdocker inspectdocker topdocker attachdocker waitdocker exportdocker importdocker portdocker cpdocker diffdocker renamedocker statsdocker update总结 docker ps 列出容器。 docker ps [OPTIONS]OPTIONS说明: -a :显示所有的…

【嵌入式学习】C++QT-Day3-C++基础

笔记 见我的博客:https://lingjun.life/wiki/EmbeddedNote/19Cpp 作业 设计一个Per类,类中包含私有成员:姓名、年龄、指针成员身高、体重,再设计一个Stu类,类中包含私有成员:成绩、Per类对象p1,设计这两个类的构造函…

HarmonyOS鸿蒙学习笔记(23)监听Wifi状态变化

监听Wifi状态变化 前言创建接收状态变化的Bean对象创建订阅者和订阅事件参考资料: 前言 本篇博文通过动态订阅公共事件来说明怎么使用HarmonyOS监听Wifi状态的变化。关于动态订阅公共事件的概念,官网有详细说明,再次就不在赘述。博文相关项目…

Python处理日期和时间库之arrow使用详解

概要 日期和时间处理是许多应用程序中的常见任务,但在 Python 中,标准库中的 datetime 模块有时可能会让这些任务变得复杂和繁琐。幸运的是,有一个名为 Arrow 的第三方库,它提供了简化日期和时间处理的功能,使其更加直…

KADB使用PXF连接KES验证

验证环境 KADB版本:Greenplum Database 6.0.0 build dev.V003R002C001B0181.d354cc9215 KES版本:KingbaseES V008R006C007B0012 Java版本:openjdk version "1.8.0_262" PXF部署 以下操作假设KADB和KES已经部署完成并且启动正常…

推荐几款便宜幻兽帕鲁(Palworld)联机服务专用服务器

幻兽帕鲁(Palworld)是一款多人在线游戏,为了获得更好的游戏体验,许多玩家会选择自行搭建游戏联机服务器,但是如何挑选价格合适、性能稳定的服务器成为一个难题,本文将为大家推荐几款便宜幻兽帕鲁联机服务专…

力扣经典题目:反转链表

1.题目分析:正常顺序为从一到五,但题目要求为从五到一,自然而然与头插法相联系。 2.此题得出解题方法:重现纠错法 3.观察下面的代码,找出问题: 反转链表的经典错误 王赫辰/c语言 - Gitee.com 看起来也…

基于Apache httpd为windows11搭建代理服务器

文章目录 一.概述二.检查电脑系统类型三.下载安装Apache Httpd四.代理服务配置五.代理服务安装六.报错解决方法七.测试是否运行成功7.1 本机测试7.2 局域网代理测试 八.设置特定ip可访问(阻止其他ip访问)九.参考文档 一.概述 出于某些原因,我…

32个Java面试必考点-08高并发架构基石-缓存

本课时介绍缓存相关的知识点以及 Memcache 和 Redis 这两个最常使用的缓存。重点学习以下三个方面的内容: 1.使用缓存时常遇到的典型问题; 2.Memcache 的内存结构; 3.Redis 相关的知识点以及 Redis 常用结构的实现。 缓存知识点 类型 缓…

大数据数据流分析和处理的工具pig,从入门到精通!

介绍:Pig是一种数据流语言和运行环境,用于处理和分析大数据。 Pig由两个主要部分构成: Pig Latin语言:这是一种用于描述数据流的高级语言,它允许用户以较为简洁的方式编写数据处理和转换任务。 Pig执行环境&#xff1a…