反向代理
反向代理也是在客戶端和服務器端的一個代理服務器,但是這個代理服務器的目的是用來保護服務器端的,當外網(wǎng)客戶端來訪問我們的服務器時為了避免暴露應用服務器的實際ip地址,我們會讓客端訪問代理服務器,然后代理服務器再根據(jù)客戶端的請求去實際的應用服務器獲取響應內(nèi)容并返回客戶端。
server{
????????listen 443 ssl;
????????server_name ?代理服務器域名;
??????location / {
???
????????resolver 8.8.8.8;
????????proxy_pass 服務器端地址;
????????}
ssl_certificate /root/nginx/cert/xxx.pem;
ssl_certificate_key /root/nginx/cert/xxx.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
proxy_pass:proxy_pass
URL設置代理服務器的地址,可以是主機名稱、IP地址加端口號等形式。
proxy_pass_request_body:proxy_pass_request_body ?on|off
用于配置是否將客戶端的請求的請求體發(fā)送給代理服務器。
proxy_pass_request_headers:proxy_pass_request_headers on|off
用于配置是否將客戶端的請求的頭信息發(fā)送給代理服務器。
proxy_set_header:proxy_set_header ?field ?value
可以更改nginx接收到的客戶端請求的請求頭信息,然后將新的請求頭信息發(fā)送給被代理的服務器。
proxy_set_body:proxy_set_body ?value
ngin接收到客戶端的請求后使用該指令可以修改request中的body體,然后將請求轉(zhuǎn)發(fā)給代理服務器
proxy_connect_timeout:proxy_connect_timeout ?time
nginx服務器與被代理服務器之間嘗試建立連接的的超時時間,默認為60s。
proxy_read_timeout:proxy_read_timeot ?time
nginx服務器接收被代理服務器數(shù)據(jù)時最大的等待時間,默認為60s。
proxy_send_timeout:proxy_send_timeout time
nginx服務器發(fā)送數(shù)據(jù)至被代理服務器的最大等待時間,例如60s內(nèi)沒有發(fā)出一個字節(jié)則默認斷開連接,默認60s。
proxy_http_version:proxy_http_version ?1.0|1.1
nginx 服務器提供代理服務的http協(xié)議版本
proxy_method:proxy_method method
nginx服務器設置請求被代理服務器時使用的請求方法,一般為POST或者GET
proxy_ignore_client_abort:proxy_ignore_client_abort ?on|off
當客戶端中斷網(wǎng)絡請求時,nginx服務是否中斷對代理服務器的請求,默認off
proxy_ignore_headers:proxy_ignore_headers ?field...
nginx服務器接收到被代理服務器的響應數(shù)據(jù)后,不會處理被設置的頭域
proxy_redirect:
proxy_redirect ?redirect ?replacement; #使用replacement替換redirect
proxy_redirect ?default; ??#使用location塊的uri替換掉 proxy_pass 后的變量
proxy_redirect ??off; ?#當前作用域下所有 proxy_redirect 指令全部失效
proxy_intercept_errors:proxy_intercept_errors ?on|off
該指令開啟時,當被代理服務器返回http狀態(tài)碼為400或者大于400時,nginx服務器會使用自己定義(使用error_page指令)的響應錯誤頁面,如果為off時直接返回狀態(tài)碼
proxy_next_upstream:proxy_next_upstream ?status
當被代理的服務器是一個 使用upstream指令配置的一組服務器時,服務器組中的服務器遵循upstream指令配置的的輪訓規(guī)則,同時也可以使用該指令來設置發(fā)生哪些異常時使用組內(nèi)的下一個服務器處理請求??蛇x值:error?|?timeout?|?invalid_header?|?http_500?|?http_502?|?http_503?|?http_504?|?http_403?|?http_404?|?off?...;其中off指無法將請求發(fā)送給被代理服務器
proxy_ssl_session_reuse:proxy_ssl_session_reuse ?on|off
用于配置是否使用基于SSL安全協(xié)議的的會話連接(https://)被代理服務器,默認為開啟狀態(tài)
禁止80 端口
禁止IP直接訪問80端口或者禁止非本站的域名綁定我們的IP,放到最前一個server上面即可:
server{
????listen ?80 default;
????server_name ???_;
????return 403;
}
域名安全證書配置
{?
????listen??????80;?
????server_name??www.?myserver.com ?????#綁定域名?
????index index.htm index.html index.php;??#默認文件?
????root /home/www/?myserver.com;??????#網(wǎng)站根目錄
include location.conf;??????????#調(diào)用其他規(guī)則,也可去除
ssl_certificate /root/nginx/cert/xxx.pem;
ssl_certificate_key /root/nginx/cert/xxx.key;
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
}
ssl_certificate:設置安全證書文件pem的路徑。
ssl_certificate_key:設置安全證書文件key的路徑。文章來源:http://www.zghlxwxcb.cn/news/detail-430337.html
ssl_session_timeout:ssl_session_timeout?time文章來源地址http://www.zghlxwxcb.cn/news/detail-430337.html
到了這里,關于nginx簡單代理和域名配置的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!