1.备份ngixn
生产一定要备份!
生产一定要备份!
生产一定要备份!
cp conf/nginx.conf conf/nginx.conf.bak.20230707
2.修改nginx配置
第一种方式:
server {
listen 80;
server_name example.com;
location / {
# 限制PC访问
if ($http_user_agent ~* (PC|Windows|Macintosh)) {
return 403;
}
# 其他特定的用户dai理字符串,可以根据需要进行修改
set $spider_user_agent "Googlebot";
if ($http_user_agent ~* $spider_user_agent) {
# 对其他特定的开放的代码
# 可以根据需要添加相应的重定向或dai理设置
}
else {
# 普通用户的代码
# 可以根据需要添加相应的重定向或dai理设置
}
}
}
在上面的代码中,我们使用 if 指令来检查用户dai理是否包含 PC、Windows 或 Macintosh 等关键词,如果是,则返回 403 禁止访问的错误页面。然后,我们使用 set 指令定义了一个名为 $spider_user_agent 的变量,该变量包含一个特定的用户dai理字符串。在 if 指令中,我们使用正则表达式匹配来检查用户dai理是否包含该字符串。如果是,则执行相应的代码块,例如添加重定向或dai理设置等。
请注意,使用 if 指令进行用户dai理匹配可能不是最佳实践。更好的方法是使用 Nginx 的 map 模块或其他更高级的配置选项来实现更精细的用户dai理控制。但是,上述代码可以作为一个简单的示例来帮助你开始实现所需的功能。
有一个临时性的项目、前端2个项目PC端、H5端,后端一个接口。
不想进行2个服务进行搭建、采用nginx判断是否是移动端或者手机端、总共2种方法
第二种方式:
user root;
worker_processes 2;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_l