Laravel 5.5官方推荐的Nginx配置学习教程
前言
本文主要给大家介绍了关于Laravel5.5官方推荐的Nginx配置的想内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍把。
Laravel5.5版本官方放出了Nginx服务器的配置,中文文档:服务器配置Nginx
server{ listen80; server_nameexample.com; root/example.com/public; add_headerX-Frame-Options"SAMEORIGIN"; add_headerX-XSS-Protection"1;mode=block"; add_headerX-Content-Type-Options"nosniff"; indexindex.htmlindex.htmindex.php; charsetutf-8; location/{ try_files$uri$uri//index.php?$query_string; } location=/favicon.ico{access_logoff;log_not_foundoff;} location=/robots.txt{access_logoff;log_not_foundoff;} error_page404/index.php; location~\.php${ fastcgi_split_path_info^(.+\.php)(/.+)$; fastcgi_passunix:/var/run/php/php7.1-fpm.sock; fastcgi_indexindex.php; includefastcgi_params; } location~/\.(?!well-known).*{ denyall; } }
自己并不擅长Nginx,相信很多朋友跟我一样,让我们一起学习下Nginx的相关知识:)
1.add_headerX-Frame-Options"SAMEORIGIN";
X-Frame-Options响应头是用来给浏览器指示允许一个页面可否在,
X-Frame-Options有三个值:
DENY
表示该页面不允许在frame中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的frame中展示。
ALLOW-FROMuri
表示该页面可以在指定来源的frame中展示。
该响应头设置应该比较常见,之前国外客户的安全团队有使用工具扫描我们项目的相关漏洞,其中就有这个clickjacking的问题,最终也是通过该设置来解决此问题。
2.add_headerX-XSS-Protection"1;mode=block";
XSS是跨站脚本攻击,是比较常见的网络攻击手段,改字段指示浏览器是否为当前页面开启浏览器内建的XSS过滤机制。1表示允许过滤器,mode=block指示浏览器在检测到XSS攻击后禁止加载整个页面。
参考文章:先知XSS挑战赛知识点提要
3.add_headerX-Content-Type-Options"nosniff";
该响应头设置禁用浏览器对Content-Type类型进行猜测的行为。因为很多情况下服务器并没有很好的配置Content-Type类型,因此浏览器会根据文档的数据特征来确定类型,比如攻击者可以让原本解析为图片的请求被解析为JavaScript。
我们发现以上三个比较常见的防攻击配置,还是非常实用的,建议使用,之前我们的服务器只使用了add_headerX-Frame-Options"SAMEORIGIN";配置。
4.不记录favicon.ico和robots.txt日志
location=/favicon.ico{access_logoff;log_not_foundoff;} location=/robots.txt{access_logoff;log_not_foundoff;}
favicon.ico网站头像,默认是浏览器标签页上网站小图标以及收藏时显示的小图标。
如果未在htmlheader中指定favicon.ico那么浏览器默认会去访问http://xxx.com/favicon.ico,不存在此文件的话,那么会导致404,同时会记录到access_log和error_log中。这种记录到日志文件中是没有必要性的,因此可以取消。
robots.txt通常是搜索引擎蜘蛛(爬虫)会去爬取的文件,在行业规范中,蜘蛛去爬取一个网站的时候会首先爬取该文件来获知网站中哪些目录文件不需要爬取,在SEO中robots.txt的正确配置是对SEO非常有效果的。该文件也确实没有必要记录到日志中,而且大部分网站并不存在robots.txt文件。
以上这些配置是可以用在大部分的网站上的,不止是Nginx服务器,相信Apache服务器也有相关的配置,如果你正在用其他web服务器,以上类似的配置也建议使用。
总结
以上就是这篇文章的全部内容,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。