nginx 配置总结
1. nginx 404 页面跳转
没有在nginx家目录里面的指定一个固定 url ;
没有的地址也就是 404 ,让404 指定地址跳转;
error_page 404 = https://www.g.com.cn/$1;
2. nginx refer 增加
http://name.renren.com/ 的访问,需要增加对Referer 的判断,非 renren.com 的请求,定位到404页面。
location / {
valid_referers none blocked server_names *.renren.com;
if ($invalid_referer) {
rewrite http://dnactivity.renren.com/?channel=404 break;
}
}
name.renren.com 增加Referer判断,非renren.com跳向APP下载页
3. nginx 封爬虫 user agent
防止爬虫,根据nginx 日志判断:
nginx 日志格式:
log_format access '"$http_x_forwarded_for" - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$request_time" "$upstream_response_time" "$upstream_addr"';
nginx 增加以下配置:
if ($http_user_agent ~* "msnbot/2.0b") {
return 444;
}
4. nginx 强制域名跳转
功能: 访问 178.com 直接跳转到 www.178.com
if ( $host !~* www.178.com ){
rewrite ^/(.*)$ http://www.178.com/$1 permanent;
}
5. vue 项目页面刷新后出现 404页面
解决 网站打开后首页正常显示,但是刷新后会报404 再次刷新还是404 通过增加以下配置,解决了nginx 刷新404 的问题。
location / {
try_files $uri $uri/ /index.html;
}
6.Nginx 反向代理增加 自定义header,需求是要区分是 https 访问还是http 访问,因此需要在公网Nginx 处增加自定义 header 的内容:
443 端口部分增加
proxy_set_header X-Forwarded-Proto https;
80 端口部分增加:
proxy_set_header X-Forwarded-Proto http;