Laravel 5.5官方推薦的Nginx配置學(xué)習(xí)教程
前言
本文主要給大家介紹了關(guān)于Laravel 5.5官方推薦的Nginx配置的想內(nèi)容,分享出來(lái)供大家參考學(xué)習(xí),下面話不多說(shuō),來(lái)一起看看詳細(xì)的介紹把。
Laravel 5.5 版本官方放出了 Nginx 服務(wù)器的配置,中文文檔:服務(wù)器配置 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; } }
自己并不擅長(zhǎng) Nginx,相信很多朋友跟我一樣,讓我們一起學(xué)習(xí)下 Nginx 的相關(guān)知識(shí) : )
1. add_header X-Frame-Options "SAMEORIGIN";
X-Frame-Options 響應(yīng)頭是用來(lái)給瀏覽器指示允許一個(gè)頁(yè)面可否在 <frame>, <iframe> 或者 <object> 中展現(xiàn)的標(biāo)記。網(wǎng)站可以使用此功能,來(lái)確保自己網(wǎng)站的內(nèi)容沒有被嵌到別人的網(wǎng)站中去,也從而避免了點(diǎn)擊劫持 (clickjacking) 的攻擊。
X-Frame-Options 有三個(gè)值:
DENY
表示該頁(yè)面不允許在 frame 中展示,即便是在相同域名的頁(yè)面中嵌套也不允許。
SAMEORIGIN
表示該頁(yè)面可以在相同域名頁(yè)面的 frame 中展示。
ALLOW-FROM uri
表示該頁(yè)面可以在指定來(lái)源的 frame 中展示。
該響應(yīng)頭設(shè)置應(yīng)該比較常見,之前國(guó)外客戶的安全團(tuán)隊(duì)有使用工具掃描我們項(xiàng)目的相關(guān)漏洞,其中就有這個(gè) clickjacking 的問(wèn)題,最終也是通過(guò)該設(shè)置來(lái)解決此問(wèn)題。
2. add_header X-XSS-Protection "1; mode=block";
XSS 是跨站腳本攻擊,是比較常見的網(wǎng)絡(luò)攻擊手段,改字段指示瀏覽器是否為當(dāng)前頁(yè)面開啟瀏覽器內(nèi)建的 XSS 過(guò)濾機(jī)制。 1 表示允許過(guò)濾器,mode=block 指示瀏覽器在檢測(cè)到 XSS 攻擊后禁止加載整個(gè)頁(yè)面。
參考文章: 先知XSS挑戰(zhàn)賽 知識(shí)點(diǎn)提要
3. add_header X-Content-Type-Options "nosniff";
該響應(yīng)頭設(shè)置禁用瀏覽器對(duì) Content-Type 類型進(jìn)行猜測(cè)的行為。因?yàn)楹芏嗲闆r下服務(wù)器并沒有很好的配置 Content-Type 類型,因此瀏覽器會(huì)根據(jù)文檔的數(shù)據(jù)特征來(lái)確定類型,比如攻擊者可以讓原本解析為圖片的請(qǐng)求被解析為 JavaScript。
我們發(fā)現(xiàn)以上三個(gè)比較常見的防攻擊配置,還是非常實(shí)用的,建議使用,之前我們的服務(wù)器只使用了 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 網(wǎng)站頭像,默認(rèn)是瀏覽器標(biāo)簽頁(yè)上網(wǎng)站小圖標(biāo)以及收藏時(shí)顯示的小圖標(biāo)。
如果未在html header中指定 favicon.ico 那么瀏覽器默認(rèn)會(huì)去訪問(wèn) http://xxx.com/favicon.ico , 不存在此文件的話,那么會(huì)導(dǎo)致404,同時(shí)會(huì)記錄到 access_log 和 error_log 中。這種記錄到日志文件中是沒有必要性的,因此可以取消。
robots.txt 通常是搜索引擎蜘蛛(爬蟲)會(huì)去爬取的文件,在行業(yè)規(guī)范中,蜘蛛去爬取一個(gè)網(wǎng)站的時(shí)候會(huì)首先爬取該文件來(lái)獲知網(wǎng)站中哪些目錄文件不需要爬取,在 SEO 中 robots.txt 的正確配置是對(duì) SEO 非常有效果的。該文件也確實(shí)沒有必要記錄到日志中,而且大部分網(wǎng)站并不存在 robots.txt 文件。
以上這些配置是可以用在大部分的網(wǎng)站上的,不止是 Nginx 服務(wù)器,相信 Apache 服務(wù)器也有相關(guān)的配置,如果你正在用其他web服務(wù)器,以上類似的配置也建議使用。
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
- Laravel如何友好的修改.env配置文件詳解
- Nginx中運(yùn)行PHP框架Laravel的配置文件分享
- Laravel框架環(huán)境與配置操作實(shí)例分析
- Laravel 前端資源配置教程
- laravel config文件配置全局變量的例子
- Laravel數(shù)據(jù)庫(kù)讀寫分離配置的方法
- Laravel 數(shù)據(jù)庫(kù)加密及數(shù)據(jù)庫(kù)表前綴配置方法
- laravel框架數(shù)據(jù)庫(kù)配置及操作數(shù)據(jù)庫(kù)示例
- laravel-admin自動(dòng)生成模塊,及相關(guān)基礎(chǔ)配置方法
- laravel 配置路由 api和web定義的路由的區(qū)別詳解
- Laravel5.6框架使用CKEditor5相關(guān)配置詳解
- Laravel配置全局公共函數(shù)的方法步驟
- Laravel5框架自定義錯(cuò)誤頁(yè)面配置操作示例
- laravel配置Redis多個(gè)庫(kù)的實(shí)現(xiàn)方法
- nginx實(shí)現(xiàn)一個(gè)域名配置多個(gè)laravel項(xiàng)目的方法示例
- laravel 框架配置404等異常頁(yè)面
- Laravel Memcached緩存驅(qū)動(dòng)的配置與應(yīng)用方法分析
- Laravel 5+ .env環(huán)境配置文件詳解
相關(guān)文章
CI(Codeigniter)的Setting增強(qiáng)配置類實(shí)例
這篇文章主要介紹了Codeigniter的Setting增強(qiáng)配置類,結(jié)合實(shí)例形式較為詳細(xì)的分析了Codeigniter增強(qiáng)配置類的具體實(shí)現(xiàn)步驟與相關(guān)技巧,需要的朋友可以參考下2016-01-01PHP數(shù)據(jù)類型之整數(shù)類型、浮點(diǎn)數(shù)的介紹
本篇文章介紹了,PHP數(shù)據(jù)類型之整數(shù)類型、浮點(diǎn)數(shù)的介紹。需要的朋友參考下2013-04-04PHP中的數(shù)組分頁(yè)實(shí)現(xiàn)(非數(shù)據(jù)庫(kù))實(shí)例講解
這篇文章主要介紹了PHP中的數(shù)組分頁(yè)實(shí)現(xiàn)(非數(shù)據(jù)庫(kù))實(shí)例講解,實(shí)例講解的很清楚,有對(duì)這方面有需要的同學(xué)可以借鑒下2021-01-01php PATH_SEPARATOR判斷當(dāng)前服務(wù)器系統(tǒng)類型實(shí)例
這篇文章主要介紹了php PATH_SEPARATOR判斷當(dāng)前服務(wù)器系統(tǒng)類型實(shí)例的相關(guān)資料,需要的朋友可以參考下2016-10-10php實(shí)現(xiàn)評(píng)論回復(fù)刪除功能
這篇文章主要為大家詳細(xì)介紹了php實(shí)現(xiàn)評(píng)論回復(fù)刪除功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05php 在線導(dǎo)入mysql大數(shù)據(jù)程序
我想很多人經(jīng)常會(huì)用phpmyadmin進(jìn)行數(shù)據(jù)的導(dǎo)入與導(dǎo)出,但是在很多使用虛擬主機(jī)的情況下,導(dǎo)出沒什么問(wèn)題但是導(dǎo)入就存在很大的問(wèn)題了,我想這里我也不多說(shuō)了站長(zhǎng)都會(huì)知道了.好了我們現(xiàn)在來(lái)看看php把mysql數(shù)據(jù)庫(kù)里面的數(shù)據(jù)導(dǎo)入程序吧.2015-06-06Laravel 5.5 實(shí)現(xiàn)禁用用戶注冊(cè)示例
今天小編就為大家分享一篇Laravel 5.5 實(shí)現(xiàn)禁用用戶注冊(cè)示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2019-10-10