一.nginx只允许域名的访问方法
1.只允许域名访问的配置方法一
修改配置文件,判断是否用域名访问
server {
listen 8081;
server_name www.tq.com;
if ( $host != 'www.tq.com' ){
return 403;
}
}
2.只允许域名访问的配置方法二
#修改配置文件,配置2个server,一个配置域名,一个处理不使用域名时的结果
server {
listen 8081 default_server;
server_name _;
return 403;
}
二.nginx配置不缓存html
现在浏览器或者系统访问网页都会有自己的一套缓存机制,这就可能会导致前端代码已经更新了,但是用户还是访问了之前的缓存。
这里介绍下用nginx处理这个问题的方法,这里配置html和htm文件不缓存。
server {
listen 80;
server_name test.exmaple.cn;
location / {
if ($request_filename ~* .*\.(?:htm|html)$) ## 配置页面不缓存html和htm结尾的文件
{
add_header Cache-Control "private, no-store, no-cache, must-revalidate, proxy-revalidate";
}
root /web/;
index index.html;
try_files $uri $uri/ /index.html =404;
}
}
上面我们只配置了不缓存html和htm,js,css等文件没有做处理,是因为我们前端编译发布代码时,如果某个js或css有更新,会自动在文件名上加时间戳、哈希值,这样一发新版时,
只要客户端请求了新版的html,就会自动找到新的js、css,没有更新的js、css还会继续用缓存,这样既不会太大的影响网页的访问速度,也能保证更新的代码不走缓存