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

本文主要是介绍小电影网站上线之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测试效果
在这里插入图片描述
在这里插入图片描述
结论
没有触发拦截,符合预期

这篇关于小电影网站上线之nginx配置不带www域名301重定向到www域名+接入腾讯云安全防护edgeone的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/650667

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

SpringBoot全局域名替换的实现

《SpringBoot全局域名替换的实现》本文主要介绍了SpringBoot全局域名替换的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一... 目录 项目结构⚙️ 配置文件application.yml️ 配置类AppProperties.Ja

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二

QT Creator配置Kit的实现示例

《QTCreator配置Kit的实现示例》本文主要介绍了使用Qt5.12.12与VS2022时,因MSVC编译器版本不匹配及WindowsSDK缺失导致配置错误的问题解决,感兴趣的可以了解一下... 目录0、背景:qt5.12.12+vs2022一、症状:二、原因:(可以跳过,直奔后面的解决方法)三、解决方