nginx之升級openssl及自定義nginx版本


favicon.ico瀏覽器圖標配置

favicon.ico 文件是瀏覽器收藏網址時顯示的圖標,當客戶端使用瀏覽器問頁面時,瀏覽器會自己主動發起請求獲取頁面的favicon.ico文件,但是當瀏覽器請求的favicon.ico文件不存在時,服務器會記錄404日志,而且瀏覽器也會顯示404報錯。 location = /favicon.ico { #使用完全匹配,優先級最高 root /data/nginx/pc/images; #設計好的favicon.ico文件需要在這個指定好的目錄下 } 

自定Nginx的版本號和server name

[root@app nginx-1.16.1]# vim /usr/local/src/nginx-1.16.1/src/http/ngx_http_header_filter_module.c #編輯nginx源碼包的這個文件 static u_char ngx_http_server_string[] = "Server: Nginx" CRLF; 修改這一行,把這一行中的Nginx改成自己想定義的server name,如:Apache/2.4.6;這一行在第49行;修改完成后需要重新編譯nginx 

升級OpenSSL版本

心臟出血(英語:Heartbleed),也簡稱為心血漏洞,是一個出現在加密程序庫OpenSSL的安全漏洞,該程序庫廣泛用於實現互聯網的傳輸層安全(TLS)協議。它於2012年被引入了軟件中,2014年4月首次向公眾披露。只要使用的是存在缺陷的OpenSSL實例,無論是服務器還是客戶端,都可能因此而受到攻擊。此問題的原因是在實現TLS的心跳擴展時沒有對輸入進行適當驗證(缺少邊界檢查),因此漏洞的名稱來源於“心跳”(heartbeat)。該程序錯誤屬於緩沖區過讀,即可以讀取的數據比應該允許讀取的還多。 

openssl下載地址: https://www.openssl.org/source/

[root@app ~]# nginx -s stop #重新編譯nginx前需要先停服務,如果不停Nginx,會造成nginx的二進制程序無法被替換 [root@app ~]# cd /usr/local/src/ [root@app src]# tar xf openssl-1.1.1d.tar.gz [root@app src]# cd nginx-1.16.1/ #進入Nginx源碼包從新編譯Nginx [root@app nginx-1.16.1]# ./configure --help | grep "openssl" --with-openssl=DIR #需要添加這個參數 [root@app nginx-1.16.1]# ./configure --prefix=/apps/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_v2_module --with-http_realip_module --with-http_stub_status_module --with-http_gzip_static_module --with-pcre --with-stream --with-stream_ssl_module --with-stream_realip_module --with-file-aio --add-module=/usr/local/src/echo-nginx-module --with-openssl=/usr/local/src/openssl-1.1.1d #添加openssl的參數后,指定openssl的源碼路徑,從新編譯 [root@app nginx-1.16.1]# make -j 4 && make install [root@app nginx-1.16.1]# nginx [root@app nginx-1.16.1]# nginx -V built with OpenSSL 1.1.1d 10 Sep 2019 #更新完成 更新完openssl,舊版本的證書等不需要修改,新版本兼容舊版本,就是把舊版本的漏洞補上了


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM