Nginx中add_header和proxy_set_header的區(qū)別及說明
proxy_set_header和add_header的區(qū)別

proxy_set_header是nginx設(shè)置請求頭給上游服務(wù)器,add_header是nginx設(shè)置響應(yīng)頭信息給瀏覽器。
1. proxy_set_header
語法格式: proxy_set_header field value; value值可以是包含文本、變量或者它們的組合。 常見的設(shè)置如: proxy_set_header Host $proxy_host; proxy_set_header version 1.0;
假如nginx請求上游服務(wù)器時(shí),添加額外的請求頭,就需要使用proxy_set_header。
在java中使用HttpServletRequest.getHeader(String name)來獲取請求頭的值,name是請求頭的名稱。
例如: proxy_set_header version 1.0;
String version = request.getHeader("version");
System.out.println(version);
2. add_header
nginx響應(yīng)數(shù)據(jù)時(shí),要告訴瀏覽器一些頭信息,就要使用add_header。
例如跨域訪問:
add_header 'Access-Control-Allow-Origin' '*';
add_header 'Access-Control-Allow-Headers' 'X-Requested-With';
add_header 'Access-Control-Allow-Methods' 'GET,POST,OPTIONS'
# 由于跨域請求,瀏覽器會先發(fā)送一個OPTIONS的預(yù)檢請求,我們可以緩存第一次的預(yù)檢請求的失效時(shí)間
if ($request_method = 'OPTIONS') {
add_header 'Access-Control-Max-Age' 2592000;
add_header 'Content-Type' 'text/plain; charset=utf-8';
add_header 'Content-Length' 0;
return 204;
}
更改完畢后,進(jìn)入nginx sbin目錄執(zhí)行./nginx -s reload重啟nginx

總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
nginx php-fpm環(huán)境中chroot功能的配置使用方法
這篇文章主要介紹了nginx php-fpm環(huán)境中chroot功能的配置使用方法,此方法是比禁用PHP敏感函數(shù)更好的一個安全防護(hù)手手段,需要的朋友可以參考下2014-05-05
Nginx在Windows下的安裝及環(huán)境配置(將nginx作為服務(wù)運(yùn)行)
這篇文章主要介紹了Nginx在Windows下的安裝及環(huán)境配置,主要是將nginx作為服務(wù)運(yùn)行,需要的朋友可以參考下2018-11-11
Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程
這篇文章主要介紹了Debian系統(tǒng)下為PHP程序配置Nginx服務(wù)器的基本教程,這里使用到了FastCGI和php-fpm,需要的朋友可以參考下2015-12-12
Nginx正向代理實(shí)現(xiàn)局域網(wǎng)電腦訪問外網(wǎng)的過程詳解
在工作中我遇到了一個類似的情況:在公司網(wǎng)絡(luò)中,由于管理要求,局域網(wǎng)內(nèi)的電腦不能直接訪問外網(wǎng),但是,工作上領(lǐng)導(dǎo)吩咐需要讓局域網(wǎng)內(nèi)的電腦能夠訪問外網(wǎng)上的某個網(wǎng)站,這時(shí)候就需要用到正向代理,本文將介紹如何配置 Nginx 實(shí)現(xiàn)這一功能,需要的朋友可以參考下2024-03-03

