1. 程式人生 > >通過zuul替代部分nginx功能讓配置更清晰

通過zuul替代部分nginx功能讓配置更清晰

背景因素:

    由於公司環境各個環境(dev test pre prod)的配置不一致,而且配置較為複雜通過nginx進行配置檔案可讀性較差,導致上線時會有各種配置問題。

   目前專案主要存在兩點問題

            1、跨域問題(前端通過option呼叫其他服務)

            2、配置溝通不暢

解決方式

    我們自己通過gateway進行轉發配置,通過後端程式來進行轉發配置,這樣配置透明能夠通過檢視git配置檔案看到各個轉發到某個位置(或者通過url)

               方式2、通過nginx做下配置

思路

   我們目前環境必定有一個路徑指定到我們的專案 加入該專案的content-path為common 例如dev環境為   

https://devword.xxxx.cn/common 該地址直接指向common 我們基於該地址配置路徑進行轉發。

通過分析gateway專案發現只容許 /common/api/** 路徑通過gateway訪問common專案,所以我們加了一個路徑為api/forward/**轉發到gateway專案讓gateway專案自己處理一些使用者校驗等工作,這樣前端就可以通過這個訪問啦。

需要注意:

前端對 gateway  不要寫死,要寫成變數,可能各個環境不一致

優點

 1、通過自己轉發管理清晰。

 2、前端所有介面都走common不會出現跨域問題

 3、與運維溝通時間大幅度減少

 4、清晰的知道前端到底呼叫了那些服務,以及外部介面

缺點

1、gateway本身就是轉發,我們相當於單獨啟動了一個gateway

2、內部服務通過gateway轉發到common——> gateway這樣相當於多次轉發,但是由於用的內網可以忽略

轉發外部介面例:

zuul:
 routes:
 baidu:
 path: /api/forward/baidu/**
      sensitiveHeaders: Cookie,Set-Cookie,Authorization  # blacklist,如果不過濾,則須顯式設為空。
 url: https://www.baidu.com/

需要修改

 1、前端對各個介面轉發路徑

 2、後端配置轉發路徑

參考文件

歡迎大家轉載,轉載時請註明原文地址

https://blog.csdn.net/weixin_41805044/article/details/80238613

相關推薦

通過zuul替代部分nginx功能配置清晰

背景因素:     由於公司環境各個環境(dev test pre prod)的配置不一致,而且配置較為複雜通過nginx進行配置檔案可讀性較差,導致上線時會有各種配置問題。    目前專案主要存在兩點問題             1、跨域問題(前端通過option呼叫

ZXing的精簡版,優化掃碼和生成二維碼/條形碼功能,整合簡單

ZXingLite       ZXingLite for Android 是ZXing的精簡版,優化掃碼和生成二維碼功能,掃碼介面支援完全自定義,讓整合更簡單。 Gif 展示 ViewfinderView屬性說明 屬性 值型別 預設值 說

聲音清晰,用PR去掉視頻中的噪音

tieba name pen ... 最好 gray false author lis Premiere V7.0沒有支持當前文件類型的輸入源的問題 25 我是新手,把DVD影片放到電腦裏,顯示的是VOB文件,導入類型顯示的是所有支持格式,於是我就點擊了VOB文件,但是說

Vue 將樣式綁定到一個對象模板清晰

nts gre font script 綁定 rip ont app color Vue 將樣式綁定到一個對象讓模板更清晰 <div id="app"> <div v-bind:style="styleObject">樣式綁定

思路清晰——我是怎樣使用思維導圖的

思維導圖無處不在 使用思維導圖的場景無處不在,無論是做產品還是做設計,我們都需要清晰的思路,明確自己需要做些什麼,最後需要達到什麼效果,這時候,如果有一張清晰的思維導圖,就能很快的理清自己的思路。作為網際網路公司自稱是產品型設計師(也就是既需要幫助老闆整理需求梳理產品,也要設計漂亮的介面)的我更是如此。

nginx功能之一可以啟動一個本地伺服器,通過配置server_name和root目錄等來訪問目標檔案

  一. 下載 http://nginx.org/   下載後解壓   二. 修改配置檔案 nginx配置檔案在 nginx-1.8.0\conf\nginx.conf http { #壓縮html

thinkphp nginx下面完美配置解決404 file not found(nginx支援PATHINFO路由模式)

thinkphp nginx下面完美配置解決404 file not found - bee-factory - 部落格頻道 - CSDN.NET   http://blog.csdn.net/learner198461/article/details/54245230

5.8 Nginx 常用功能配置

技術 src nginx 配置 分享圖片 功能 inf ima gin 5.8 Nginx 常用功能的配置

Android Studio常用功能配置開發高效(一)

1、程式碼提示不區分大小寫 File | Settings 開啟設定,選擇Editor | General | Code Completion Case sensitive completion

nginx負載均衡配置

war eal ade remote dock lis upstream doc 配置 http {   upstream docker {       server 192.168.88.106:10001;       server 192.168.88.1

nginx下vhost配置

try 配置 ror 目錄 charset end stat proxy product 配置文件所在目錄: /usr/local/nginx/conf/vhost/XXX.conf server { listen 9191; server_na

nginx+gridfs+mongodb 配置訪問png圖片顯示無法加載問題

nginx配置文件 做了 nginx配置 副本 server port 問題 模塊 bject 上傳文件後,瀏覽器中請求:http://&lt;nginx server ip>:<port>/gfs/<my file> 瀏覽器出現“無法

BasePath問題-nginx負載均衡配置

.... class ip地址 htm post 細致 rpo 均衡 css 在配置nginx+tomcat好後。將項目加入到webapps中。發現訪問主頁時,css與js訪問不到,導致主頁布局出錯。細致分析原因後發現css與js的地址是basePath得出的。而bas

jquery部分實用功能

視頻播放 itl ngs ide one select bmi 取消 input ‘‘‘ 主要目的是回顧相關jquery部分功能 ‘‘‘ <!DOCTYPE html><html lang="en"><head> <met

Nginx 訪問日誌配置

cte 4.0 clr live get ide onf 定義 window [[email protected]/* */ conf]# cat nginx.conf worker_processes 1; error_log logs/error

nginx 1.12 配置解析php

alt 配置解析 cgi fast file lan try_files 技術 cati server { listen 80; server_name foo.com; root /path; index index.html index

Nginx配置文件(nginx.conf)配置詳解

最好 緩沖區 網絡io dev mp3 forward val eight 超時 Nginx的配置文件nginx.conf配置詳解如下: user nginx nginx ; Nginx用戶及組:用戶 組。window下不指定 worker_process

Linux實戰第五篇:RHEL7.3下Nginx虛擬主機配置實戰(基於別名)

虛擬主機 nginx個人筆記分享(在線閱讀):http://note.youdao.com/noteshare?id=05daf711c28922e50792c4b09cf63c58PDF版本下載http://down.51cto.com/data/2323313本文出自 “人才雞雞” 博客,請務必保留此出處

Nginx服務器之 Nginx的基本配置

connect cast body netmask gin 主機ip ash 操作 日誌輸出 本文使用 Linux centos系統 一、Nginx虛擬主機的配置 虛擬主機:通常情況下,為了使每個服務器可以供更多用戶使用,可以將一個服務器分為很多虛擬的子服務器,每個子服務器

nginx反向代理配置

nginx反向代理配置1.修改nginx.conf配置文件,在 location / {這個行下添加反向代理 location / { proxy_pass http://192.168.2.140:8080/;#就是這行代碼 auth_basic off; auth_basic_us