使用Nginx代理上網(wǎng)的方法
我一般都是使用 nginx 做反向代理 tomcat 和其他應(yīng)用的,其實(shí) nginx 也是支持正向代理的
所謂正向代理就是內(nèi)網(wǎng)用戶通過網(wǎng)關(guān)訪問外部資源,就是電腦上網(wǎng)時(shí)瀏覽器設(shè)置下 http 代理地址訪問互聯(lián)網(wǎng)
而反向代理就是外部用戶通過網(wǎng)關(guān)訪問內(nèi)網(wǎng)資源,通俗講就是,你的網(wǎng)站跑在內(nèi)網(wǎng)的 8080 端口,別人能夠通過 80 端口來訪問它
http 代理配置
# 正向代理上網(wǎng) server { listen 38080; # 解析域名 resolver 8.8.8.8; location / { proxy_pass $scheme://$http_host$request_uri; } }
瀏覽器配置下代理 IP 和端口,然后訪問 http://www.ip138.com ,可以發(fā)現(xiàn) IP 已經(jīng)變化了,說明生效了
然而訪問 https 網(wǎng)站卻打不開,這是由于原生 nginx 只支持 http 正向代理,為了 nginx 支持 https 正向代理,可以打 ngx_http_proxy_connect_module 補(bǔ)丁+ ssl 模塊支持
添加 https 代理模塊
這里需要重新編譯 nginx,需要查看當(dāng)前 nginx 的版本和編譯選項(xiàng),然后去官網(wǎng)下載同版本的 nginx 源碼進(jìn)行重新編譯
/usr/local/nginx/sbin/nginx -V
wget http://nginx.org/download/nginx-1.15.12.tar.gz tar -zxvf nginx-1.15.12.tar.gz
下載模塊 ngx_http_proxy_connect_module
git clone https://github.com/chobits/ngx_http_proxy_connect_module
打補(bǔ)丁,對(duì) nginx 源碼修改,這一步很重要,不然后面的 make 過不去
patch -d /root/nginx-1.15.12/ -p 1 < /root/ngx_http_proxy_connect_module/patch/proxy_connect_rewrite
在原有配置后追加模塊,make 后注意不要 install
cd /root/nginx-1.15.12/ ./configure --with-http_stub_status_module --with-http_ssl_module --with-file-aio --with-http_realip_module --add-module=/root/ngx_http_proxy_connect_module/ make mv /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak cp /root/nginx-1.15.12/objs/nginx /usr/local/nginx/sbin/
更改配置文件如下,然后啟動(dòng)服務(wù)
# 正向代理上網(wǎng) server { listen 38080; # 解析域名 resolver 8.8.8.8; # ngx_http_proxy_connect_module proxy_connect; proxy_connect_allow 443 563; proxy_connect_connect_timeout 10s; proxy_connect_read_timeout 10s; proxy_connect_send_timeout 10s; location / { proxy_pass $scheme://$http_host$request_uri; } }
總結(jié)
代理感覺不是很穩(wěn)定,有時(shí)候會(huì)打不開,尤其是 https 網(wǎng)站。訪問國(guó)外網(wǎng)站千萬不要這樣搞,這里只是為了熟悉下 nginx 的正向代理功能
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Linux下用Nginx作Perl程序服務(wù)器及其中Perl模塊的配置
這篇文章主要介紹了Linux下用Nginx作Perl程序服務(wù)器及其中Perl模塊的配置,文中使用到了FastCGI中間件進(jìn)行連接,需要的朋友可以參考下2016-02-02為nginx設(shè)置默認(rèn)虛擬主機(jī)(空主機(jī)頭,默認(rèn)主機(jī)頭)
nginx的默認(rèn)虛擬主機(jī)在用戶通過IP訪問,或者通過未設(shè)置的域名訪問(比如有人把他自己的域名指向了你的ip)的時(shí)候生效2010-11-11一個(gè)等號(hào)引發(fā)的血案(談Nginx正確的404配置)
這篇文章主要介紹了Nginx正確的404配置方法,本文根據(jù)實(shí)際案例總結(jié)而來,可以說是一個(gè)等號(hào)引發(fā)的血案!需要的朋友可以參考下2014-08-08Nginx解決轉(zhuǎn)發(fā)地址時(shí)跨域的問題
這篇文章主要介紹了Nginx實(shí)現(xiàn)轉(zhuǎn)發(fā)地址解決跨域問題的方法,文中介紹的很詳細(xì),對(duì)大家的學(xué)習(xí)具有一定的參考借鑒價(jià)值,有需要的朋友可以參考借鑒,下面來一起看看吧。2017-01-01nginx 代理域名到另外一個(gè)域名的實(shí)現(xiàn)方法
本文主要介紹了nginx 代理域名到另外一個(gè)域名的實(shí)現(xiàn)方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-05-05nginx php-fpm中啟用慢日志配置(用于檢測(cè)執(zhí)行較慢的PHP腳本)
這篇文章主要介紹了nginx php-fpm中啟用慢日志配置,php-fpm慢日志slowlog設(shè)置可以讓我們很好的看見哪些php進(jìn)程速度太慢而導(dǎo)致的網(wǎng)站問題,可以讓我們方便的找到問題的所在,需要的朋友可以參考下2014-05-05Nginx中實(shí)現(xiàn)訪問HTTP請(qǐng)求時(shí)自動(dòng)跳轉(zhuǎn)到HTTPS請(qǐng)求
本文主要介紹了Nginx中實(shí)現(xiàn)訪問HTTP請(qǐng)求時(shí)自動(dòng)跳轉(zhuǎn)到HTTPS請(qǐng)求,下面介紹了兩種方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2024-08-08關(guān)于nginx+php5.3.8+eclipse3.7工作空間的配置方法
以前用eclipse3.6時(shí)設(shè)置php服務(wù)器時(shí)完全可以在base url欄填寫自己工作空間的目錄,然后修改nginx.conf加一個(gè)alias就行了2011-11-11