前言

前言

前言

我花了 40 多个小时尝试创建一个可以满足我的强迫症的 Nginx 配置设置。我在 IRC 上被告知过无数次,说我太挑剔了,编写干净的 URL 非常困难。我是一名大学生,系统管理甚至不是我的工作!无论如何,我都在寻求一个完美的设置。这种配置在这个世界上可能是不可能的,如果是的话请告诉我。如果你知道答案,但想得到报酬,请告诉我。我正在考虑创建一个 Github 存储库并设置 Tip4commit 或 BountySource 来向提交拉取请求的人付款。我认为创建一个包含大量文档的开源最佳 Nginx 实践存储库会很棒。至于我的实际问题,我将把我的请求/问题分成 5 个部分。有些部分很容易做到,但是每个部分必须相互兼容并形成一个 Nginx 配置。这是请求/问题的难点。

相关问题:这工作量太大了吗?我应该使用 octohost.io、flynn.io 还是 github.com/progrium/dokku?

清洁 URL

foo.com/index > foo.com 
foo.com/ > foo.com 
foo.com/folder/index > foo.com/folder/ 
foo.com/bar.html > foo.com/bar 
foo.com/bar.htm > foo.com/bar 
foo.com/bar.php > foo.com/bar 

其他规则: * 文件类型顺序:.PHP、.HTML * 403 和 404 发送至 /404.html * 永远不要添加结尾斜杠 * 如果文件和目录的名称相同,则在目录中查找索引文件,如果没有,则查找该文件。

PHP-FPM 支持

除了支持.html 文件之外,主配置还应该支持.php 文件。

HTTPS 和 WWW 重定向支持

http://example.com > https://example.com
www.example.com > example.com
example.com > www.example.com

各种基本和安全重写的模板

示例:将 example.com/feed/ 的请求重定向到 feed.xml,但不显示真实的 url。

现代 Web 开发的最佳实践

包含https://github.com/h5bp/server-configs进入主配置。

安全

防止运行 rouge PHP:https://nealpoole.com/blog/2011/04/setting-up-php-fastcgi-and-nginx-dont-trust-the-tutorials-check-your-configuration/

我的 HackerNews 帖子:news.ycombinator.com/item?id=7640692

相关内容