成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

資訊專(zhuān)欄INFORMATION COLUMN

nginx部署/代理/跨域

int64 / 3537人閱讀

摘要:關(guān)于咱們先了解在開(kāi)發(fā)過(guò)程中的主要作用解決跨域負(fù)載均衡一解決跨域如果要理解什么是跨域廣義上的跨域是指一個(gè)域下的文檔或腳本試圖去請(qǐng)求另一個(gè)域下的資源。標(biāo)記為備份服務(wù)器。當(dāng)主服務(wù)器不可用時(shí),將傳遞與備份服務(wù)器的連接。

關(guān)于nginx,咱們先了解nginx在開(kāi)發(fā)過(guò)程中的主要作用

nginx解決跨域

nginx負(fù)載均衡

一、nginx解決跨域

如果要理解什么是跨域

廣義上的跨域是指一個(gè)域下的文檔或腳本試圖去請(qǐng)求另一個(gè)域下的資源。即瀏覽器的同源策略/SOP限制引起的跨域也屬于在內(nèi);

那么什么是同源策略呢?

同源策略/SOP(Same origin policy)是一種約定,由Netscape公司1995年引入瀏覽器,它是瀏覽器最核心也最基本的安全功能,如果缺少了同源策略,瀏覽器很容易受到XSS、CSFR等攻擊。同源策略即: 協(xié)議+域名+端口"三者相同

常見(jiàn)的跨域場(chǎng)景如下:

         URL                                      說(shuō)明                         是否允許通信

    http://www.baidu.com/hello.js
    http://www.baidu.com/world.js         同一域名,不同文件或路徑           允許(無(wú)跨域)
    http://www.baidu.com/hello/world.js


    http://www.baidu.com:8000/hello.js
    http://www.baidu.com/hello.js         同一域名,不同端口                不允許(有跨域)

    http://www.baidu.com/hello.js
    https://www.baidu.com/world.js        同一域名,不同協(xié)議                不允許(有跨域)

    http://www.baidu.com/hello.js
    http://192.168.22.128/world.js        域名和域名對(duì)應(yīng)ip                 不允許(有跨域)

    http://baidu.com/hello.js
    http://x.baidu.com/hello.js           主域相同,子域不同                不允許(有跨域)
    http://www.baidu.com/hello.js

    http://www.baidu.com/hello.js
    http://www.bai.com/world.js           不同域名                        不允許(有跨域)
常見(jiàn)的跨域解決方案有如下:
1. jsonp解決跨域
2. document.domain + iframe解決跨域
3.  nginx代理解決跨域
4.  nodejs中間件代理解決跨域
重點(diǎn)來(lái)了 nginx代理解決跨域;
server {
          listen       80;
          server_name  localhost; //前端域名 具體原理解釋在下方

          location / {  // location / 代理所有請(qǐng)求 而如果是 location /api 則匹配到有/api 前綴的請(qǐng)求才會(huì)代理
                  proxy_pass www.baidu.com; // 服務(wù)端域名
          }
  }

前端server域名是localhost

服務(wù)器server域名是www.baidu.com

根據(jù)瀏覽器的SOP/同源策略 localhost對(duì)www.baidu.com發(fā)起請(qǐng)求一定會(huì)出現(xiàn)跨域問(wèn)題;但現(xiàn)在只要我們啟動(dòng)nginx服務(wù)器把server_name設(shè)置成前端的域名,
此時(shí)前端發(fā)起的請(qǐng)求相當(dāng)于是localhost對(duì)localhost發(fā)起,這樣是不會(huì)引起跨域的;但真實(shí)情況是,nginx對(duì)localhost的請(qǐng)求代理回 www.baidu.com

這里贅述一下什么是代理;

代理是在服務(wù)器和客戶端之間假設(shè)的一層服務(wù)器(中間服務(wù)器),代理將接收客戶端的請(qǐng)求并將它轉(zhuǎn)發(fā)給服務(wù)器,然后將服務(wù)端的響應(yīng)轉(zhuǎn)發(fā)給客戶端。
代理分為正向代理和反向代理:具體區(qū)別自行百度...
二、nginx負(fù)載均衡

nginx是通過(guò)把請(qǐng)求分發(fā)到服務(wù)器列表來(lái)實(shí)現(xiàn)負(fù)載均衡的;具體實(shí)現(xiàn)如下:

          upstream balance.com{
                         server 192.168.2.100:42000;
                         server 192.168.2.101:42000;
                         server 192.168.2.102:42000;
            }



            server {
                    server_name  fe.server.com;
                    listen 80;
                    location /api {
                            proxy_pass http://balance.com;
                    }
            }

上面的配置只是指定了nginx需要轉(zhuǎn)發(fā)的服務(wù)端列表,并沒(méi)有指定分配策略。

nginx負(fù)載均衡策略

1.輪詢策略

> 輪詢策略是默認(rèn)的策略,把每個(gè)請(qǐng)求按順序逐一分配到不同的server,如果server掛掉,能自動(dòng)剔除
    upstream balance.com{
            server 192.168.2.100:42000;
            server 192.168.2.101:42000;
            server 192.168.2.102:42000;
        }

2.最少連接數(shù)策略

把請(qǐng)求優(yōu)先分配給連接數(shù)最少的server,可以平衡每個(gè)隊(duì)列的長(zhǎng)度;
    upstream balance.com{
            least_conn;
            server 192.168.2.100:42000;
            server 192.168.2.101:42000;
            server 192.168.2.102:42000;
        }

3.最快響應(yīng)時(shí)間策略

優(yōu)先分配給響應(yīng)時(shí)間最短的服務(wù)器。
  upstream balance.com {
     fair;
    server 192.168.2.100:42000;
    server 192.168.2.101:42000;
    server 192.168.2.102:42000;
 }

4.權(quán)重策略

使用weight來(lái)指定server訪問(wèn)比率,weight默認(rèn)是1。訪問(wèn)率比例等于權(quán)重比例;
    upstream balance.com{
             server 192.168.2.100:42000 weight=1;
             server 192.168.2.101:42000 weight=2;
             server 192.168.2.102:42000 weight=3;
        }

5.客戶端ip綁定 ip_hash

每個(gè)請(qǐng)求會(huì)按照訪問(wèn)ip的hash值分配,這樣同一客戶端連續(xù)的Web請(qǐng)求都會(huì)被分發(fā)到同一server進(jìn)行處理,可以解決session的問(wèn)題。如果server掛掉,能自動(dòng)剔除。
    upstream balance.com{
        ip_hash;
        server 192.168.2.100:42000 weight=1;
        server 192.168.2.101:42000 weight=2;
        server 192.168.2.102:42000 weight=3;
    }

backup 標(biāo)記為備份服務(wù)器。當(dāng)主服務(wù)器不可用時(shí),將傳遞與備份服務(wù)器的連接。

    upstream balance.com{
        server 192.168.2.100:42000 backup;
        server 192.168.2.101:42000;
    }
本文介紹的是基礎(chǔ)功能,如果想了解更多請(qǐng)轉(zhuǎn)nginx文檔

以上是博主目前了解和使用到的一些技巧和知識(shí)啦,至于關(guān)于nginx部署后404問(wèn)題請(qǐng)看@安靜Eno| vue框架下部署上線后刷新報(bào)404問(wèn)題解決方案

尊重原著 文章轉(zhuǎn)自@安靜Enonginx部署/代理/跨域

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://systransis.cn/yun/40446.html

相關(guān)文章

  • 通過(guò)nginx反向代理解決前端訪問(wèn)的跨域問(wèn)題

    摘要:三反向代理解決的原理將安裝在本地,然后將項(xiàng)目部署于下,這樣訪問(wèn)本地項(xiàng)目時(shí)用本地項(xiàng)目即可訪問(wèn)。這樣瀏覽器之間的請(qǐng)求完全滿足瀏覽器域名協(xié)議端口相同的同源策略,可在不改變后臺(tái)接口的情況下避免跨域問(wèn)題。 一、問(wèn)題背景說(shuō)明: 編寫(xiě)移動(dòng)前端頁(yè)面時(shí)需要訪問(wèn)后臺(tái)系統(tǒng)接口。前端項(xiàng)目在本地(個(gè)人辦公電腦)開(kāi)發(fā),后臺(tái)接口存放后生產(chǎn)的后臺(tái)服務(wù)器,本地的ajax請(qǐng)求無(wú)法直接訪問(wèn)后臺(tái)接口,也就是遇到了跨域問(wèn)題...

    dongxiawu 評(píng)論0 收藏0
  • 通過(guò)nginx反向代理解決前端訪問(wèn)的跨域問(wèn)題

    摘要:三反向代理解決的原理將安裝在本地,然后將項(xiàng)目部署于下,這樣訪問(wèn)本地項(xiàng)目時(shí)用本地項(xiàng)目即可訪問(wèn)。這樣瀏覽器之間的請(qǐng)求完全滿足瀏覽器域名協(xié)議端口相同的同源策略,可在不改變后臺(tái)接口的情況下避免跨域問(wèn)題。 一、問(wèn)題背景說(shuō)明: 編寫(xiě)移動(dòng)前端頁(yè)面時(shí)需要訪問(wèn)后臺(tái)系統(tǒng)接口。前端項(xiàng)目在本地(個(gè)人辦公電腦)開(kāi)發(fā),后臺(tái)接口存放后生產(chǎn)的后臺(tái)服務(wù)器,本地的ajax請(qǐng)求無(wú)法直接訪問(wèn)后臺(tái)接口,也就是遇到了跨域問(wèn)題...

    paulquei 評(píng)論0 收藏0
  • Nginx

    摘要:此外,其也能夠提供強(qiáng)大的反向代理功能。是由為俄羅斯訪問(wèn)量第二的站點(diǎn)開(kāi)發(fā)的,第一個(gè)公開(kāi)版本發(fā)布于年月日。 keepalived+nginx 實(shí)現(xiàn)高可用雙機(jī)熱備 + 負(fù)載均衡架構(gòu) 1 準(zhǔn)備4個(gè)ubuntu16.04虛擬機(jī)(啟用網(wǎng)卡二并使用橋接模式):A服務(wù)器:192.168.0.103 主B服務(wù)器:192.168.0.104 主(備) 前端工程師學(xué)習(xí) Nginx ...

    syoya 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<