Nginx反向代理
當我們有一個服務器集群,並且服務器集群中的每台服務器的內容一樣的時候,同樣我們要直接從個人電腦訪問到服務器集群服務器的時候無法訪問,必須通過第三方服務器才能訪問集群
這個時候,我們通過第三方服務器訪問服務器集群的內容,但是我們並不知道是哪一台服務器提供的內容,此種代理方式稱為**反向代理
公司會建立很多的服務器,這些服務器組成了服務器集群,然后,當用戶訪問網站的時候,先訪問一個中間服務器,再讓這個中間服務器在服務器集群中選擇一個壓力較小的服務器,然后將該訪問請求引入選擇的服務器
所以,用戶每次訪問,都會保證服務器集群中的每個服務器壓力趨於平衡,分擔了服務器壓力,避免了服務器崩潰的情況
一句話:**nginx
**會給你分配服務器壓力小的去訪問
(1)下載OpenSSL
自己根據系統選擇下載,默認安裝在C盤的,我的路徑默認是C:\Program Files\OpenSSL-Win64
以下挨着步驟進行配置,注意自己的路徑。
// 1.設置環境變量 // 打開cmd 后面的路徑根據自己的路徑來 如果在c盤文件沒有權限,換個其他位置進行配置 隨后生成的證書就會放在你選擇的配置路徑里 我是在D:\devlib里進行配置的 set OPENSSL_CONF=C:\Program Files\OpenSSL-Win64\bin\openssl.cfg echo %OPENSSL_CONF% // 2.生成server.key openssl genrsa -out server.key 4096 // 3.生成request文件 這一步會自行進行一些信息配置 common name的地方最好寫自己的uip 就是你的局域網ip openssl req -new -key server.key -out server.csr // 4.獲取私鑰 以下是一整行命令 不是兩行 openssl x509 -req -days 730 -in server.csr -signkey server.key -out server.crt
配置結束后就會在你配置的路徑里看見新的三個文件,第一個就是ssl
證書:
官網下載。
解壓到你想放入的文件夾內,然后用cmd
打開。
注意,啟動nginx
不能直接雙擊nginx.exe
,會改變配置文件nginx.conf,所以需要reload
// 啟動nginx start nginx // 重啟nginx nginx -s reload // 停止nginx nginx -s stop // 退出nginx nginx -s quit
打開nginx
文件夾下的nginx.conf
配置文件:
然后找到https server
下的內容,取消注釋,進行配置證書路徑,這里寫你證書所在路徑即可:
打開你的HOST
文件,一般是在這個路徑C:\Windows\System32\drivers\etc
:
打開之后,把我圈出的位置的注釋取消掉,這里我已經去掉了:
然后你在瀏覽器中輸入https://localhost
就會出現這樣的頁面內容:
證明搭建成功啦。
自己使用express
或者koa
搭建一個簡單服務器即可,設置一個自定義的監聽端口。我的服務器文件取名為server.js
然后使用node server.js
啟動服務確保能訪問。
再次來到nginx.conf
配置文件,將443的server location
里增加圈出的內容,端口號為自己在Node
服務器設置的即可,nginx反向代理主要通過proxy_pass
來配置:
然后cmd
輸入nginx -s reload
重啟nginx
,在瀏覽器輸入https:localhost
就可以訪問到你項目的主頁面了。如果在另一台局域網下的電腦瀏覽器中輸入,就要輸入成https://你的局域網ip
即可訪問一樣的主頁。
這是一個自簽名證書,不能用於商用。