国产欧美日韩第一页|日本一二三不卡视频|在线精品小视频,亚洲第一免费播放区,metcn人体亚洲一区,亚洲精品午夜视频

幫助中心 >  技術(shù)知識庫 >  虛擬主機 >  虛擬主機基礎知識 >  Nginx進(jìn)階ssl、fpm、rewrite、cache配置

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

2017-01-23 09:45:40 14758

Nginx進(jìn)階ssl、fpm、rewrite、cache配置


一、配置https網(wǎng)站

1、自建CA

(1)生成私鑰文件

mkdir -p /etc/pki/CA/private #創(chuàng )建私鑰保存的目錄

(umask 077;openssl genrsa -out /etc/pki/CA/private/cakey.pem 4096) #創(chuàng )建私鑰

ll /etc/pki/CA/private/ # 私鑰只能自己保存,對保密性要求高

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

(2)生成自簽證書(shū)

openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem -out cacert.pem -days 7300

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

(3)為CA提供所需的目錄和文件

touch /etc/pki/CA/index.txt # 創(chuàng )建數據庫文件

echo 01 > /etc/pki/CA/serial # 創(chuàng )建序列號文件并給明第一個(gè)證書(shū)的序列號碼

ll /etc/pki/CA

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

CA創(chuàng )建完成

2、證書(shū)申請

(1)在證書(shū)申請的主機上生成私鑰

cd /etc/nginx/

mkdir ssl #創(chuàng )建保存私鑰的目錄

cd ssl

(umask 077;openssl genrsa -out nginx.key 2048)

ll

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

(2)生成證書(shū)簽署請求

openssl req -new -key nginx.key -out nginx.csr -days 365

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

(3)把請求發(fā)送給CA,因為這是本機,就不發(fā)了。

(4)CA簽發(fā)證書(shū)

openssl ca -in /etc/nginx/ssl/nginx.csr -out /etc/nginx/ssl/nginx.crt -days 365

報錯如下:

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

說(shuō)明我們生成自簽證書(shū)沒(méi)做好,上去檢查那一步,發(fā)現什么事情,我們的自簽證書(shū)生成到root目錄下了。所以再來(lái)一次絕對路徑的:openssl req -new -key /etc/pki/CA/private/cakey.pem -days 365 -x509 -out /etc/pki/CA/cacert.pem

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

再試試:結果如下

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

cd /etc/nginx/ssl 看一下:

Nginx進(jìn)階ssl、fpm、rewrite?cache配置

3、配置/etc/nginx/nginx.conf

vim /etc/nginx/nginx.conf

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

檢查,重啟,測試

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

最后說(shuō)一下幾個(gè)配置項的含義:具體見(jiàn)官網(wǎng)ngx——http——ssl——moudle模塊

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

二、rewrite模塊配置(很重要)

官方文檔在http://www.tjdsmy.cn/en/docs/http/ngxhttprewrite_module.html

用法:rewrite regex replacement [flag];

把用戶(hù)請求的URL基于regex做檢查,匹配到時(shí)將替換為replacement指定的字符串;

如果replacement是以http:// 或https://開(kāi)頭,則替換結果會(huì )直接重定?返回客戶(hù)端

在同一個(gè)location中存在的多個(gè)rewrite規則會(huì )自上而下逐個(gè)被檢查,可以使用flag控制此循環(huán)功能

[flag]:重寫(xiě)完成后停止對當前url在當前l(fā)ocation中的后續其他重寫(xiě)操作,改為新的url進(jìn)行新的一輪處理。

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

這個(gè)狀態(tài)值有兩個(gè)階段,第一階段是一個(gè)正常的返回值200,第二階段是一個(gè)臨時(shí)的重定向。如果用permanet,返回值就是301,重寫(xiě)后生成一個(gè)新的url返回給客戶(hù)端,有客戶(hù)端對新url進(jìn)行請求。

if:只能用在server和location中,條件判斷句,在條件滿(mǎn)足時(shí),執行配置塊終端的配置,引入一個(gè)新的配置上下文

condition:比較表達式 == ,!=

~:模式匹配,區分字符大小寫(xiě)

~*:模式匹配,不區分字符大小寫(xiě)

!~:模式不匹配,區分大小寫(xiě)

!~*:模式不匹配,不區分大小寫(xiě)

文件及目錄存在性判斷:-f,!-f(文件),-e,!-e(存在),-d,!-d(目錄),-x,!-x(執行)

return:

return code ;

return code url;

return url;

gzip:過(guò)濾,對指定類(lèi)型的資源壓縮傳輸以節約帶寬

gzipcomplevel level;指定壓縮比:1-9

gzip,disable regex ……;regex是匹配客戶(hù)端瀏覽器類(lèi)型的模式,表示對所有匹配的瀏覽器不執行壓縮響應。

gzipminlength length;觸發(fā)啟用壓縮功能響應報文的最小長(cháng)度

gziphttpversion 1.0|1.1;設定啟用壓縮響應功能時(shí)協(xié)議的最小版本

gziptypes mimetype …;指定僅執行壓縮的資源內容類(lèi)型,默認為text/html;

三、fastcgi模塊,LNMP

php編譯時(shí)要支持fpm;php—fpm工作方式類(lèi)似于httpd的prefork模式

安裝:yum -y install php-fpm php-mysql php-mbstring php-gd php-xml

啟動(dòng):systemctl start php-fpm.service

?改nginx.conf配置文件

一個(gè)動(dòng)態(tài)請求,將請求的變量值保存在前端(nginx)的一個(gè)參數里,這個(gè)變量值向后端發(fā)起請求(代理作用),要通過(guò)fastcgi_params這個(gè)文件傳遞,后端主機在什么地方就要改為什么 fastcgi_param

配置如下:

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

測試代碼如下:編輯在/web/html下的info.php文件:<?php phpinfo(); ?>

結果如下:

Nginx進(jìn)階ssl、fpm、rewrite、cache配置

一下是其他配置項,詳情請看官方文檔:

Nginx進(jìn)階ssl、fpm、rewrite、cache配置


提交成功!非常感謝您的反饋,我們會(huì )繼續努力做到更好!

這條文檔是否有幫助解決問(wèn)題?

非常抱歉未能幫助到您。為了給您提供更好的服務(wù),我們很需要您進(jìn)一步的反饋信息:

在文檔使用中是否遇到以下問(wèn)題:
-->