網站加速與Linux伺服器防護

来源:https://www.cnblogs.com/hiit/archive/2018/01/18/8310927.html
-Advertisement-
Play Games

網站加速方面 1. Nginx 配置 gzip 壓縮 開啟nginx gzip壓縮後,網頁、css、js等靜態資源的大小會大大的減少,從而可以節約大量的帶寬,提高傳輸效率,給用戶快的體驗。雖然會消耗cpu資源,但是為了給用戶更好的體驗是值得的。 將以上配置放到nginx.conf的http{ ... ...


網站加速方面

1. Nginx 配置 gzip 壓縮

開啟nginx gzip壓縮後,網頁、css、js等靜態資源的大小會大大的減少,從而可以節約大量的帶寬,提高傳輸效率,給用戶快的體驗。雖然會消耗cpu資源,但是為了給用戶更好的體驗是值得的。

gzip  on;  #開啟gzip
gzip_min_length 1k;  #低於1kb的資源不壓縮
gzip_comp_level 3; #壓縮級別【1-9】,越大壓縮率越高,同時消耗cpu資源也越多,建議設置在4左右。
gzip_types text/plain application/javascript application/x-javascript text/javascript text/xml text/css;  #需要壓縮哪些響應類型的資源,多個空格隔開。不建議壓縮圖片,下麵會講為什麼。
gzip_disable "MSIE [1-6]\.";  #配置禁用gzip條件,支持正則。此處表示ie6及以下不啟用gzip(因為ie低版本不支持)
gzip_vary on;  #是否添加“Vary: Accept-Encoding”響應頭

將以上配置放到nginx.conf的http{ ... }節點中。保存並重啟nginx,刷新頁面(為了避免緩存,請強制刷新)就能看到效果了。以谷歌瀏覽器為例,通過F12看請求的響應頭部。

2. 開啟百度雲加速

在很多網站開始用到了國內的免費CDN了,也就是雲加速,比如百度雲加速、360網站衛士、安全寶、加速樂及雲盾等等。

百度雲加速在全國骨幹網上部署大量節點和帶寬資源,整合百度自有CDN技術以及防攻擊體系,為廣大網站提供加速、緩存和頁面優化等功能,顯著提高網站的訪問速度,大量節省網站自身資源。
同時,在流量經過雲加速節點的同時,惡意的黑客攻擊和DDoS/CC攻擊也被雲加速攔截過濾,有效保障了網站的安全和穩定。

這個開啟請看教程:https://jingyan.baidu.com/article/f00622280f97d3fbd2f0c858.html

Linux伺服器安全防護

1.Linux限制用戶或IP遠程登錄

linux遠程登錄使用的是SSH協議,要限制IP登錄,主要是修改與sshd服務相關聯的配置文件。

1.只允許指定用戶進行登錄(白名單):
在 /etc/ssh/sshd_config 配置文件中設置 AllowUsers 選項,(配置完成需要重啟 SSHD 服務)格式如下:
AllowUsers    aliyun [email protected]            
# 允許 aliyun 和從 192.168.1.1 登錄的 test 帳戶通過 SSH 登錄系統。
2.只拒絕指定用戶進行登錄(黑名單):
在/etc/ssh/sshd_config配置文件中設置DenyUsers選項,(配置完成需要重啟SSHD服務)格式如下:   
DenyUsers    zhangsan aliyun    #Linux系統賬戶        
# 拒絕 zhangsan、aliyun 帳戶通過 SSH 登錄系統

3.只允許IP 192.168.0.1 和 192.168.0.10 登陸 其他全部禁止
(1) vim /etc/hosts.allow //增加如下內容 
sshd: 192.168.0.1, 192.168.0.10 
(2)vim /etc/hosts.deny //增加如下內容 
sshd: ALL
4.IP黑名單形式
只限制192.168.0.1登陸上來,其他全部放行
vim /etc/hosts.deny //增加如下內容 
sshd: 192.168.0.1

  

2.安裝雲鎖安全軟體

註意:如曾經下載過雲鎖安裝包,則將舊的雲鎖安裝包及安裝目錄刪除(rm -rf yunsuo_*)後再安裝。

快速安裝

x86:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_32bit.tar.gz && tar xvzf yunsuo_agent_32bit.tar.gz && chmod +x yunsuo_install/install && yunsuo_install/install

x64:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_64bit.tar.gz && tar xvzf yunsuo_agent_64bit.tar.gz && chmod +x yunsuo_install/install && yunsuo_install/install

分步安裝

1.下載雲鎖安裝包。

x86:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_32bit.tar.gz
x64:wget http://download.yunsuo.com.cn/v3/yunsuo_agent_64bit.tar.gz
2.解壓文件,得到安裝包文件。

x86:tar zxvf yunsuo_agent_32bit.tar.gz
x64:tar zxvf yunsuo_agent_64bit.tar.gz
3.給雲鎖安裝文件賦予可執行許可權。

chmod +x yunsuo_install/install
4.在當前路徑下執行安裝,直到提示“Install Yunsuo Success.”安裝完成。

yunsuo_install/install

5.添加伺服器到雲中心。

/usr/local/yunsuo_agent/yunsuo_smart_tool.sh -u cloud_name -p cloud_passwd
備註:cloud_name:雲中心賬戶名;cloud_passwd:雲中心登錄密碼
6.安裝完成後通過PC端進行管理。

查看雲鎖是否運行

ps -ef | grep yunsuo_agent

雲鎖服務相關命令

雲鎖啟動/停止/重啟/運行狀態

service yunsuo start/stop/restart/status
/etc/init.d/yunsuo start/stop/restart/status

卸載雲鎖

/usr/local/yunsuo_agent/uninstall

  3.ssh 22預設埠更改

首先修改配置文件  vi /etc/ssh/sshd_config

  找到#Port 22一段,這裡是標識預設使用22埠,修改為如下:

  Port 22  Port 50000  然後保存退出

  執行/etc/init.d/sshd restart  這樣SSH埠將同時工作與22和50000上。

  現在編輯防火牆配置:vi /etc/sysconfig/iptables

  啟用50000埠。  執行/etc/init.d/iptables restart

  現在請使用ssh工具連接50000埠,來測試是否成功。如果連接成功了,則再次編輯sshd_config的設置,將裡邊的Port22刪除,即可。

  之所以先設置成兩個埠,測試成功後再關閉一個埠,是為了方式在修改conf的過程中,萬一齣現掉線、斷網、誤操作等未知情況時候,
還能通過另外一個埠連接上去調試以免發生連接不上必須派人去機房,導致問題更加複雜麻煩。

  4.開啟防火牆

1) 永久性生效,重啟後不會複原
開啟: chkconfig iptables on
關閉: chkconfig iptables off

2) 即時生效,重啟後複原
開啟: service iptables start
關閉: service iptables stop

  5.重要文件夾上鎖

在linux系統里鎖定一個文件,鎖定後,任何用戶,包括root用戶都無法刪除該文件
chattr +i  a.txt   
##a.txt 為加鎖的文件
解鎖
chattr -i a.txt 
為了保護數據隱私,鎖定文件伺服器下的/downloads文件夾。
chmod 0000 /downloads

root用戶仍舊可以訪問,而ls和cd命令則不工作。要還原它用:
chmod 0755 /downloads

  6.網站目錄文件夾許可權設置 。建議文件夾750,頁面文件640,緩存目錄可讀寫770

修改某個目錄下所有文件的許可權,如果子目錄中的文件許可權也要修改,則使用參數-R啟動遞歸處理。

把/home/user目錄的許可權設置為rwxrwxrwx,不包括子目錄:

[root@localhost ~]# chmod 777 /home/user

把/home/user目錄的許可權設置為rwxrwxrwx,包括子目錄:

[root@localhost ~]# chmod -R 777 /home/user 

 其它 

及時更新各類軟體的補丁

掛載備份硬碟,定期備份

資料庫單獨伺服器,通過內網訪問交互

關閉多餘服務

禁用密碼,用密鑰登錄

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 有多種方式可以將數據傳遞到視圖,如下所示: ViewData ViewBag PartialView TempData ViewModel Tuple 場景: 在視圖頁面,下拉框選擇課程觸發事件,分別顯示老師課程表、學生上課表,如圖: 相關的Model: 一、使用ViewData傳遞多個Model ...
  • 本篇開始正式做功能,我在開發拼團提醒之前,拼多多並沒有放出拼團人數不足就提醒賣家的功能。 有這個想法主要來源於朋友的抱怨,我想這應該是大部分賣家的心聲吧。 經過分析,拿到了幾個api,不要問我api怎麼拿到的,這不是本系列的內容。 介面1:http://apiv4.yangkeduo.com/mal ...
  • 本人開發socket通訊多年了,一直乾著“重覆發明輪子”工作,這種工作方式效率低下,容易出錯! 重覆的事情做多了,也會出現“靈光“!何不自己設計一套中間件,在此基礎上,再設計應用層協議。就可以避免“重覆發明輪子”。 ...
  • 在一個項目開始前,需求整理大概要占到整個項目周期15%甚至30%的比重,可以說需求理得越清楚,後續開發中返工幾率越小。在一個項目中,開發新功能的花費的精力要遠遠小於修改功能的精力,這基本是一個共識。老祖宗說,謀定而後動,不是沒有道理的。 一般項目開發中,前期會包含商務活動、需求調研,需求交底的過程。 ...
  • 在上一節,我們完成了一個項目搭建,我們看到的是一個項目的分層架子,那接下來每一層做什麼以及需要引用哪些內容呢?在本節內容我們還逐步拆分每一層的功能,順帶添加package包 Trump.Domain 在這一層,主要是定義領域模型,我們前面也說,Domain是不依賴任何層的,唯一可能存在的依賴也就是外 ...
  • 首先,下載文件navicat120_mysql_cs_x64.tar.gz,然後用命令 解壓。解壓以後,進入解壓目錄,運行start_navicat,就可以運行了。 運行以後,可能出現亂碼,這是因為預設的是英文,只識別UTF8的英文編碼。用gedit打開文件start_navicat,把 改成 然後 ...
  • 一.下載Linux版本的jdbc與tomcat 1.1 下載Linux版本的jdbc: 1.1.1 1.1.2 1.1.3 在進行1.1.3操作之前得先勾選我同意協議 1.1.4 下載完成 1.2下載Linux版本的tomcat 1.2.1 1.2.2 1.2.3 下載完成 二.將下載好的兩個壓縮包 ...
  • android 電池(一):鋰電池基本原理篇 android 電池(二):android關機充電流程、充電畫面顯示 android 電池(三):android電池系統 android電池(四):電池 電量計(MAX17040)驅動分析篇 android電池(五):電池 充電IC(PM2301)驅動分 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...