我是nginx的新手。我尝试学习使用搜索www和stackoverflow。通常,我会得到帮助来了解如何构建我的nginx配置。
我的域名为www.mysite.com。一切; 着陆页,错误和服务器错误必须重定向到默认的index.html。我还定义了访问和错误日志。所有这些都在/etc/nginx/conf.d/default.conf内部完成(在代码下面)。
我需要重定向( proxy_pass ) / admin , / user 以及与它们相关的任何内容。例如,/ admin也具有其他文件夹,例如/ admin / login /。在/ admin必须重定向之后,我需要执行所有操作。 / user也是如此。
1)看着我的代码是否正确重定向了位置/ admin 和位置/ user ?
2)我也使用try_files $ uri $ uri / = 404;重定向。还将404重定向到默认的index.html。我做对了吗?
3)我也拒绝访问某些文件和文件夹。我做对了吗?
我的主要问题是,如果我的Nginx配置错误,该如何纠正?因此,为了理解正确的nginx配置,我将我的问题分为上述3个不同的问题。我希望我没有阻止stackoverflow如何提出问题准则。
谢谢。
更新:
dest
答案 0 :(得分:1)
通常将root
语句放置在server
块中一次,而不是在多个location
块中重复相同的值。
您正在使用proxy_pass
来更改URI,然后再将其传递给上游。在这种情况下,location
值和proxy_pass
值的URI部分应都以/
结尾或都不以/
结尾。有关详细信息,请参见this document。
通常,您不不想将try_files
和proxy_pass
放在同一location
中。这导致Nginx在允许请求向上游传递之前检查其文档根目录中是否存在该文件。
您无需拒绝访问配置文件,因为这些文件首先不应位于文档根目录中。