server {
location / {
if ($uri !~* .(php|html|htm)$) {
return 403;
}
}
}
$uri: 请求中的当前URI(不带请求参数,参数位于$args),可以不同于浏览器传递的$request_uri的值,它可以通过内部重定向,或者使用index指令进行修改,$uri不包含主机名,如”/foo/bar.html”。
如果不允许用户访问css|html|htm格式,则配置文件内容为:
server {
# 用户访问端口,按需修改
listen 19091;
server_name localhost;
# 前端代码存储位置
root /home/Yinling/app/frontends/dist;
location / {
if ($uri ~* .(css|html|htm)$) {
return 403;
}
}
这样设置之后,基本实现了研发的要求。 但是其实还是有一个问题,正常的用户访问是输入网址之后,如果后面没有跟详细的资源路径,浏览器会返回index页面,但是如果有上面的设置,应该是优先级的问题,先进性if判断,直接就会返回403,而不是查找index页面。不过这个虚拟主机指向的是一个接口访问的资源文件夹,所以也能满足要求,如果是网站页面的话,最好还是使用下面的配置:
location ~* .(ini|cfg|dwt|lbi)$ {
deny all;
return 404;
}
这样设置是禁止用户访问某些资源,虽然可能写后缀麻烦一些,不过效果会更好。
隐藏版本号信息:
在配置文件http头增加:server_tokens off;
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
server_tokens off;
keepalive_timeout 65;
....
.....
proxy_connect_timeout 1;
proxy_send_timeout 30;
proxy_read_timeout 60;
}
版权声明:本文内容始发于CSDN>作者:zhangpfly,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
本作品采用知识共享署名-非商业性使用-禁止演绎 2.5 中国大陆许可协议进行许可。
始发链接:https://blog.csdn.net/zhangpfly/article/details/78970419
在此特别鸣谢原作者的创作。
此篇文章的所有版权归原作者所有,商业转载建议请联系原作者,非商业转载请注明出处。