今天由於公司微信端添加地圖業務,但地圖不支持https,所以將https改爲http訪問,因此出現訪問異常,原因是之前訪問的用戶,微信端存在緩存頁面,但是不會清楚,所以我就提出,可以在nginx在主機頭跳轉的時候做清楚緩存的操作,讓微信端訪問時,響應頭不存儲緩存,這樣就解決問題了,下面是配置的過程(配置很簡單,但是這個過程我花了1天的時間,如果有坑,請留言)
官方文檔:http://nginx.org/en/docs/http/ngx_http_headers_module.html
1,查看當前nginx版本及確認安裝目錄
cd /home/oldboy/tools/ wget -q http://nginx.org/download/nginx-1.8.1.tar.gz tar xf nginx-1.8.1.tar.gz cd nginx-1.8.1
版本及目前使用的模塊信息
[root@web01 extra]# /application/nginx/sbin/nginx -V nginx version: nginx/1.8.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --with-http_stub_status_module --with-http_ssl_module --prefix=/application/nginx-1.8.1/ ###注意一定要事先查看當前nginx下有哪些編譯模塊,記錄,然後與要添加的模塊一起編譯
2,下載headers模塊
cd /home/qiuyuetao/ wget https://codeload.github.com/openresty/headers-more-nginx-module/zip/master\ unzip headers-more-nginx-module-master.zip
3,記錄下當前訪問頁面的狀態(也可以在web頁面上查看 響應頭信息)
[root@web01 qiuyuetao]# curl -I www.etiantian.org HTTP/1.1 301 Moved Permanently Server: nginx/1.2.9 Date: Wed, 02 Aug 2017 06:17:47 GMT Content-Type: text/html Content-Length: 184 Connection: keep-alive Location: ###這裏可以修改內容很多,只是用到裏面的一點點知識,其它內容,大家可以科普##
4,將header模塊,編譯到nginx中去
cd /home/qiuyuetao/tools/nginx-1.8.1 ##這個下載的安裝文件目錄 ./configure --with-http_stub_status_module --with-http_ssl_module --prefix=/application/nginx-1.8.1/ --add-module=/home/qiuyuetao/headers-more-nginx-module-master ###注意一定要事先查看當前nginx下有哪些編譯模塊,記錄,然後與要添加的模塊一起編譯## make
(如果現在已經部署了nginx 就不能make install ,如果沒有部署nginx 可以make install)
5,替換nginx啓動文件 (yo)
cd /application/nginx/sbin mv nginx{,.bak} cp nginx /application/nginx/sbin/ ##這個是將重新編譯的nginx 配置文件,複製到安裝目錄使新的模塊生效
6,重啓服務,測試是否正常
/application/nginx/sbin/nginx -s stop /application/nginx/sbin/nginx /application/nginx/sbin/nginx -V
7,驗證效果
[root@web01 qiuyuetao]# /application/nginx/sbin/nginx -V nginx version: nginx/1.8.1 built by gcc 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) built with OpenSSL 1.0.1e-fips 11 Feb 2013 TLS SNI support enabled configure arguments: --with-http_stub_status_module --with-http_ssl_module --prefix=/application/nginx-1.8.1/ --add-module=/home/qiuyuetao/headers-more-nginx-module-master
8,添加到nginx 指定站點配置文件中
server{ listen 80; server_name www.etiantian.org; location / { ##將下面header信息寫入location下 ## max-age設定緩存時間 nocashe 就是不緩存 add_header Cache-Control no-cache; add_header Cache-Control no-store; add_header Pragma no-cache; add_header Expires 0; }
9,重新加載
/application/nginx/sbin/nginx -s stop /application/nginx/sbin/nginx
##web頁面查看結果##