nginx - nginx 为特定位置提供特定目录
问题描述
我需要用于开发目的(当然不是用于生产),以提供位于我的文件夹 /app/logs/ 中的日志。
所以我设置了这样的配置:
server {
listen 80;
server_name server-name.com;
error_log /app/logs/error.log warn;
access_log /app/logs/access.log compression;
root /var/www;
location /info/logs/ {
alias /app/logs/;
autoindex on;
}
location / {
// others route working
}
}
但是每次我尝试使用http://server-name.com/info/logs/django.log访问类似 /app/logs/django.log 的东西时,我得到一个 404 而不是我要求的文件。
我已经尝试了很多方法,例如 chmod -R 755 整个文件夹或将文件夹设置为用户 nginx 使用(在我现在的情况下,我知道这很糟糕),尝试了 root 或 try_files 但我无法访问它。 ..
我在这里和那里看到了很多主题,但找不到线索......
你能帮我解决这个问题吗?
PS:我在其他位置的开头需要根 /var/www。
PS2:我使用的是基于 Debian 9 的 Docker。
解决方案
好的,我发现了我的问题,我有这样的路线:
# Any route containing a file extension (e.g. /devicesfile.js)
location ~ ^.+\..+$ {
try_files $uri =404;
}
而且我不知道尽管它是在第一个位置之后,但它会被选择而不是另一个位置......
还是要谢谢你的帮助 !
推荐阅读
- angular - 最小\最大形式输入验证器角度
- c - 使用头文件的多重定义错误
- r - ggplot中的空等高线图
- ios - SwiftUI 一个文本中心和一个尾随对齐
- c# - 在 C# 中使用 Linq 同时读取两个 xml 文件
- mysql - 我该怎么做这个 sql 请求?
- c++ - 32 位整数溢出
- java - #error running igv **Error: A JNI error has occurred, please check your installation and try again
- questdb - 如何删除 QuestDB 中超过 90 天的记录
- sql-server - SQL Server 替换()