目錄
問題背景
解決方式
正向代理:
?反向代理:
?通俗點兒一句話,正向與反向的區(qū)別:
問題背景
在某些單位或機構內部,訪問互聯網接口需要通過指定的服務器去訪問,那我們就需要通過代理 ip 和 端口去訪問外網域名。
示例:如何通過指定 ip 和 端口 訪問?https://api.elecredit.com/? 這個域名的接口呢?
解決方式
通過 nginx 代理訪問。
先來了解一下 nginx 的正向代理和反向代理:
-
正向代理:
如果把局域網外的Internet想象成一個巨大的資源庫,則局域網中的客戶端要訪問Internet,則需要通過代理服務器來訪問,這種代理服務就稱為正向代理,下面是正向代理的原理圖。
由于工作環(huán)境原因,日常工作只能局限于單位的局域網,如果想要訪問互聯網,怎么辦呢?這就需要用到正向代理。
-
?反向代理:
看下面原理圖,就一目了然。其實客戶端對代理是無感知的,因為客戶端不需要任何配置就可以訪問,我們只需要將請求發(fā)送到反向代理服務器,由反向代理服務器去選擇目標服務器獲取數據后,在返回給客戶端,此時反向代理服務器和目標服務器對外就是一個服務器,暴露的是代理服務器地址,隱藏了真實服務器 IP地址。
?正向代理和反向代理的區(qū)別,一句話就是:如果我們客戶端自己用,就是正向代理。如果是在服務器用,用戶無感知,就是反向代理。
?接下來看看我們如何通過局域網訪問外網 https 服務
nginx 配置:
server {
listen 8088;
server_name 172.16.2.239;
location / {
proxy_send_timeout 600;
proxy_read_timeout 600;
proxy_connect_timeout 600;
proxy_redirect off;
#proxy_set_header Host $host;
proxy_set_header Host api.elecredit.com;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass https://api.elecredit.com:443/;
add_header Access-Control-Allow-Origin *;
}
}
這里監(jiān)聽 8088 端口,server_name 為本機 ip 地址;
proxy_set_header Host api.elecredit.com;
上面這一行配置的意思就是把原h(huán)ttp 請求的header 中的host 字段也放到轉發(fā)的請求里。
這樣我們就配置好了,就可以通過?http://172.16.2.239:8088/? 請求到互聯網接口地址了。
?通俗點兒一句話,正向與反向的區(qū)別:
正向代理的代理對象是客戶端,反向代理的代理對象是服務端。代理服務器站在客戶端那邊就是正向代理,代理服務器站在原始服務器那邊 就是反向代理。nginx通過proxy_pass可以設置代理服務。
人生苦短,拒絕內卷。我是跟著飛哥學編程,一個一心向陽,向陽而生,努力向上生長的年輕人。加油兄弟們……
致力于實際工作場景中的避坑經驗分享,無套路,純干貨。文章來源:http://www.zghlxwxcb.cn/news/detail-622661.html
愛飛哥,沒毛病,飛哥帶你上高速,沖沖沖……文章來源地址http://www.zghlxwxcb.cn/news/detail-622661.html
到了這里,關于nginx 配置代理ip訪問https的域名配置的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!