-
當(dāng)前位置:首頁 > 創(chuàng)意學(xué)院 > 技術(shù) > 專題列表 > 正文
nginx配置代理轉(zhuǎn)發(fā)(nginx配置代理轉(zhuǎn)發(fā)無效)
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于nginx配置代理轉(zhuǎn)發(fā)的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
ChatGPT國內(nèi)免費(fèi)在線使用,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,越精準(zhǔn),寫出的就越詳細(xì),有微信小程序端、在線網(wǎng)頁版、PC客戶端
官網(wǎng):https://ai.de1919.com
本文目錄:
一、nginx 一直都在做7層轉(zhuǎn)發(fā),4層也需要看看
一.簡單介紹
nginx 的功能非常強(qiáng)大,其中作為代理服務(wù)器是非常常用的功能,但是之前的nginx代理只能做七層代理,也就說是基于應(yīng)用層面的代理,TCP層面的代理一般會(huì)配合haproxy 來使用。
自從nginx 1.9 以后通過stream模塊實(shí)現(xiàn)了tcp 代理功能,無需其他軟件配合即可實(shí)現(xiàn)四層代理和七層代理,即:訪問該服務(wù)器的指定端口,nginx就可以充當(dāng)端口轉(zhuǎn)發(fā)的作用將流量導(dǎo)向另一個(gè)服務(wù)器,同時(shí)獲取目標(biāo)服務(wù)器的返回?cái)?shù)據(jù)并返回給請(qǐng)求者。
nginx的TCP代理功能跟nginx的反向代理不同的是:請(qǐng)求該端口的所有流量都會(huì)轉(zhuǎn)發(fā)到目標(biāo)服務(wù)器,而在反向代理中可以細(xì)化哪些請(qǐng)求分發(fā)給哪些服務(wù)器;另一個(gè)不同的是,nginx做TCP代理并不僅僅局限于WEB的URL請(qǐng)求,還可以轉(zhuǎn)發(fā)如memcached、MySQL、oracle等點(diǎn)到點(diǎn)的請(qǐng)求
二.配置4層轉(zhuǎn)發(fā)關(guān)于nginx的硬性要求(只涉及1.9以上的版本)
1.nginx的版本必須在1.9以上(如果要使用stream模塊的話)
2.nginx必須有stream模塊的編譯
三.查看是否支持stream模塊
/usr/local/nginx/sbin/nginx -V | grep stream
如果有返回說明已經(jīng)編譯了,如果沒有需要重新編譯
編譯方法參考 https://www.jianshu.com/p/21d1191f609c
將模塊替換成 --with-stream
四.配置要求
通過本地的3389跳轉(zhuǎn)到192.168.9.121的8088端口
五.編寫配置文件:
請(qǐng)注意,stream塊和http塊是兩個(gè)不同的模塊,stream不屬于http模塊,即不能放到/etc/nginx/conf.d/,stream是通過tcp層轉(zhuǎn)發(fā),而不是http轉(zhuǎn)發(fā)
2.mkdir /usr/local/nginx/conf/tcp.d
3.添加配置信息:
vim openldap.conf
4.檢查配置文件并重新啟動(dòng)nginx
5.查看telenet查看端口是否可以訪問
telnet nginx的IP地址 3389
二、Nginx 配置反向代理 Tomcat
前言: 如果你在 ./configure 時(shí)沒有添加 --prefix= 指向安裝目錄,那配置文件的路徑就在 /usr/local/nginx/conf/
先看一下配置前,我們80端口是什么頁面
切換目錄
目錄下有許多的文件
我們需要操作的是nginx.conf這個(gè)配置文件
接下來開始添加Tomcat
為了日后方便維護(hù),我們建一個(gè)名為http的文件夾
文件內(nèi)容如下
保存并退出
接下來編輯 conf下的nginx.conf
在 http 下添加 include http/*.conf; 別忘了分號(hào)
如果你在使用 nginx 命令時(shí)出現(xiàn)
成功!
listen: 監(jiān)聽端口
server_name: 多個(gè)server時(shí)必須有,一般放的域名
proxy_pass: 代理地址,通過端口監(jiān)聽到的請(qǐng)求轉(zhuǎn)發(fā)到的目的地址
index: 代理地址訪問頁面優(yōu)先級(jí),如我的是優(yōu)先訪問index.html最后是index.php
配置有很多,我接觸較少 我要看更多配置
三、nginx 正向代理 配置https 雙向認(rèn)證
項(xiàng)目中需要使用代理訪問目標(biāo)服務(wù)器,服務(wù)方只接受https請(qǐng)求,并且使用雙向認(rèn)證 經(jīng)歷了一番波折總算配置成功
現(xiàn)在講配置過程記錄下來。
首先是nginx 配置問題
查閱官方文檔
http://nginx.org/en/docs/http/ngx_http_proxy_module.html
以下兩項(xiàng)配置https 客戶端認(rèn)證私鑰與證書
proxy_ssl_certificate
proxy_ssl_certificate_key
以下項(xiàng)目配置代理轉(zhuǎn)發(fā)地址
proxy_pass https://127.0.0.1:8443$request_uri;
配置文件
其中有一個(gè)坑在與配置代理轉(zhuǎn)發(fā)地址時(shí),如果不添加https:// 客戶端請(qǐng)求的時(shí)候會(huì)報(bào)錯(cuò),所以這里一定要寫上。
上面這些都配置好后,代理就能正常使用了。
此外,證書問題可能有些人還會(huì)遇到問題,推薦的解決方案是在linux 下使用keytool+opensll 來進(jìn)行證書轉(zhuǎn)換,openssl需可能需要單獨(dú)安裝,具體方式可以問度娘。
以下提供從jks中獲取pem格式證書和私鑰的方法:
1、提取公鑰:
切換到j(luò)ks證書的存儲(chǔ)路徑,執(zhí)行如下命令:keytool -list -rfc -keystore demo.jks -storepass demopwd
將證書內(nèi)容完整復(fù)制,粘貼到文件中,保存為cer.pem
2、提取私鑰
私鑰無法直接提取,需要將jks進(jìn)行轉(zhuǎn)換
1)keytool -importkeystore -srckeystore dem.jks -destkeystore demo.p12 -srcstoretype jks -deststoretype pkcs12
2)openssl pkcs12 -nodes -in 10411004511201290.p12 -out demo.pem
vim demo.pem
將-----BEGIN PRIVATE KEY----- ……-----END PRIVATE KEY----- 之間內(nèi)容(包含) 進(jìn)行復(fù)制,粘貼到新文件中,保存名稱為privateKey.pem
或者可以直接執(zhí)行第二個(gè)提取私鑰操作 執(zhí)行vim demo.pem 后可以看到證書和私鑰,分別保存成兩個(gè)pem文件即可。
四、vue項(xiàng)目打包之后不通過nginx怎么配置轉(zhuǎn)發(fā)代理
vue項(xiàng)目打包之后不通過nginx配置轉(zhuǎn)發(fā)代理是:
1、Vue項(xiàng)目打包在終端中執(zhí)行npmrunbuild1打包完成在項(xiàng)目的dist目錄看到index.html。目錄的所有文件放到nginx服務(wù)器訪問。
2、下載得到一個(gè)zip的壓縮包,解壓用。
3、在html文件夾中新建一個(gè)hhdglm文件,打包的東西放進(jìn)去。
以上就是關(guān)于nginx配置代理轉(zhuǎn)發(fā)相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
華為logo設(shè)計(jì)意義(華為logo設(shè)計(jì)含義)