Laravel 5.5官方推荐的Nginx配置学习教程
发布:smiling 来源: PHP粉丝网 添加日期:2021-08-11 13:35:36 浏览: 评论:0
这篇文章主要给大家介绍了关于Laravel 5.5官方推荐的Nginx配置学习的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
前言
本文主要给大家介绍了关于Laravel 5.5官方推荐的Nginx配置的想内容,分享出来供大家参考学习,下面话不多说,来一起看看详细的介绍把。
Laravel 5.5 版本官方放出了 Nginx 服务器的配置,中文文档:服务器配置 Nginx
- server {
- listen 80;
- server_name example.com;
- root /example.com/public;
- add_header X-Frame-Options "SAMEORIGIN";
- add_header X-XSS-Protection "1; mode=block";
- add_header X-Content-Type-Options "nosniff";
- index index.html index.htm index.php;
- charset utf-8;
- location / {
- try_files $uri $uri/ /index.php?$query_string;
- }
- location = /favicon.ico { access_log off; log_not_found off; }
- location = /robots.txt { access_log off; log_not_found off; }
- error_page 404 /index.php;
- location ~ \.php$ {
- fastcgi_split_path_info ^(.+\.php)(/.+)$;
- fastcgi_pass unix:/var/run/php/php7.1-fpm.sock;
- fastcgi_index index.php;
- include fastcgi_params;
- }
- location ~ /\.(?!well-known).* {
- deny all;
- }
- }
自己并不擅长 Nginx,相信很多朋友跟我一样,让我们一起学习下 Nginx 的相关知识 : )
1. add_header X-Frame-Options "SAMEORIGIN";
X-Frame-Options 响应头是用来给浏览器指示允许一个页面可否在 <frame>, <iframe> 或者 <object> 中展现的标记。网站可以使用此功能,来确保自己网站的内容没有被嵌到别人的网站中去,也从而避免了点击劫持 (clickjacking) 的攻击。
X-Frame-Options 有三个值:
DENY
表示该页面不允许在 frame 中展示,即便是在相同域名的页面中嵌套也不允许。
SAMEORIGIN
表示该页面可以在相同域名页面的 frame 中展示。
ALLOW-FROM uri
表示该页面可以在指定来源的 frame 中展示。
该响应头设置应该比较常见,之前国外客户的安全团队有使用工具扫描我们项目的相关漏洞,其中就有这个 clickjacking 的问题,最终也是通过该设置来解决此问题。
2. add_header X-XSS-Protection "1; mode=block";
XSS 是跨站脚本攻击,是比较常见的网络攻击手段,改字段指示浏览器是否为当前页面开启浏览器内建的 XSS 过滤机制。 1 表示允许过滤器,mode=block 指示浏览器在检测到 XSS 攻击后禁止加载整个页面。
参考文章: 先知XSS挑战赛 知识点提要
3. add_header X-Content-Type-Options "nosniff";
该响应头设置禁用浏览器对 Content-Type 类型进行猜测的行为。因为很多情况下服务器并没有很好的配置 Content-Type 类型,因此浏览器会根据文档的数据特征来确定类型,比如攻击者可以让原本解析为图片的请求被解析为 JavaScript。
我们发现以上三个比较常见的防攻击配置,还是非常实用的,建议使用,之前我们的服务器只使用了 add_header X-Frame-Options "SAMEORIGIN"; 配置。
4. 不记录 favicon.ico 和 robots.txt 日志
location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }
favicon.ico 网站头像,默认是浏览器标签页上网站小图标以及收藏时显示的小图标。
如果未在html header中指定 favicon.ico 那么浏览器默认会去访问 http://xxx.com/favicon.ico , 不存在此文件的话,那么会导致404,同时会记录到 access_log 和 error_log 中。这种记录到日志文件中是没有必要性的,因此可以取消。
robots.txt 通常是搜索引擎蜘蛛(爬虫)会去爬取的文件,在行业规范中,蜘蛛去爬取一个网站的时候会首先爬取该文件来获知网站中哪些目录文件不需要爬取,在 SEO 中 robots.txt 的正确配置是对 SEO 非常有效果的,该文件也确实没有必要记录到日志中,而且大部分网站并不存在 robots.txt 文件。
以上这些配置是可以用在大部分的网站上的,不止是 Nginx 服务器,相信 Apache 服务器也有相关的配置,如果你正在用其他web服务器,以上类似的配置也建议使用。
Tags: Laravel5 5 Nginx
相关文章
- ·如何在laravel 5中使用DB事务?(2020-01-31)
- ·Laravel5中contracts详解(2021-05-15)
- ·Laravel 5 学习笔记(2021-05-15)
- ·laravel5 使用try catch的实例详解(2021-08-21)
- ·Laravel5.5中利用Passport实现Auth认证的方法(2021-08-22)
- ·Laravel 5.5基于内置的Auth模块实现前后台登陆详解(2021-08-25)
- ·Laravel5.2使用Captcha生成验证码实现登录(session巨坑)(2021-08-26)
- ·Laravel 5.4.36中session没有保存成功问题的解决(2021-09-03)
- ·在Laravel5.6中使用Swoole的协程数据库查询(2021-10-01)
- ·详细Laravel5.5执行表迁移命令出现表为空的解决方案(2021-10-10)
- ·Laravel5.5以下版本中如何自定义日志行为详解(2021-10-20)
- ·Laravel5框架添加自定义辅助函数的方法(2021-10-20)
- ·laravel5使用freetds连接sql server的方法(2021-11-02)
- ·Laravel5.4框架使用socialite实现github登录的方法(2021-11-13)
- ·Laravel5.7框架安装与使用学习笔记图文详解(2021-11-14)
- ·Laravel5.7 Eloquent ORM快速入门详解(2021-11-16)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)