成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

只需三步,使用Docker創建Nginx反向代理

云計算 云原生
在Web架構中,敏捷性和可伸縮性是必不可少的,在管理服務的同時也需要保證最佳性能。為了達到這一目標,可以使用反向代理。反向代理非常靈活,可簡化客戶端和服務器之間的交互和通信。

在Web架構中,敏捷性和可伸縮性是必不可少的,在管理服務的同時也需要保證最佳性能。

為了達到這一目標,可以使用反向代理。反向代理非常靈活,可簡化客戶端和服務器之間的交互和通信。

如圖所示,反向代理就像大樓里的接待員,該大樓有各個部門和區域。接待員成功地將客戶或訪客重定向到適當的部門。他們負責指引訪客,處理查詢,并確保各個部門之間的分發。

圖片圖片

反向代理的用途包括:

  1. 用于可伸縮性的負載均衡。
  2. 終止SSL和TLS。
  3. 將子域映射到特定路徑。

本文將使用Nginx和Docker容器來設置反向代理。

第1步,創建應用程序

下載完整代碼(https://github.com/DiptoChakrabarty/nginx-reverse-proxy)。

我們從構建作為代理的應用程序開始。

編寫Docker文件,在訪問此應用程序的/端點時顯示一個簡單的HTML頁面。

FROM nginx:stable-alpine
COPY index.html /usr/share/nginx/html/index.html

index.html文件如下:

<h1>This is the main app</h1>

編寫一個簡單的Docker Compose文件,來運行這個應用程序。

version : '3.7'
services :
  web:
    build: .
    ports:
    - "8080:80"

通過運行以下命令啟動Docker Compose:

docker-compose up

訪問localhost:8080,應該能夠看到以下內容。

圖片圖片

以類似的方式創建兩個不同的應用程序,使用兩個HTML文件和相同的Dockerfile。

This is html file for app1
<h1>This is APP 1</h1>

This is html file for app2
<h1>This is APP 2</h1>

修改Docker Compose文件以啟動這兩個容器:

version : '3.7'
services :
  web:
    build: .
    ports:
    - "8080:80"
    restart: always
  app1:
    build: ./app1/
    ports:
    - "8085:80"
    restart: always
  app2:
    build: ./app2
    ports:
    - "8010:80"
    restart: always

訪問端口8085和8010時,可以看到如下內容:

圖片圖片

第2步,編寫Nginx配置

編寫Nginx配置文件,以在訪問/app時,在app1和app2之間進行代理,而在/端點上只顯示主頁面。

Nginx配置如下所示:

worker_processes  1;  ## Default: 1
worker_rlimit_nofile 8192;

http {
  
  upstream cloud_server_com {
    server app1:80;
    server app2:80;
  }
  server {
    listen   80;
    location /app/ {
      proxy_pass      http://cloud_server_com/;
    }
    location / {
      root   /usr/share/nginx/html;
      index  index.html;
    }
    
  }
}

配置文件定義了組合在一起的服務器組。在這里,我們指定了在Docker Compose文件中定義的容器名稱及其端口號。

location幫助Nginx定義如何處理特定端點的請求。/app/將請求發送到cloud_server_com上游,而cloud_server_com就是兩個應用程序的容器。

proxy_pass確定了請求將被重定向到哪里。

現在,Docker Compose文件需要能夠讀取此配置,因此需要修改Compose文件,如下所示:

version : '3.7'
services :
  web:
    build: .
    ports:
    - "8080:80"
    volumes:
      - ./config/nginx.conf:/etc/nginx/nginx.conf
    restart: always
  app1:
    build: ./app1/
    ports:
    - "8085:80"
    restart: always
  app2:
    build: ./app2
    ports:
    - "8010:80"
    restart: always

第3步,運行容器

運行docker-compose up命令,然后在瀏覽器中查看反向代理的工作原理。

這是在/端點上運行的主應用程序:

圖片圖片

但是,在訪問/app/端點時,它返回兩個不同的服務器,代理逐個發送請求到app1和app2。

圖片 圖片 圖片

責任編輯:武曉燕 來源: Java學研大本營
相關推薦

2021-03-02 07:02:45

Linux操作系統

2021-03-23 10:25:01

Linux 系統 數據

2010-06-30 13:02:30

2014-06-24 14:42:16

MAE展會暢快網絡

2024-01-29 00:25:00

VS Code開發插件

2015-06-09 09:25:34

2021-07-13 08:14:27

色彩用色類型輔助色

2009-08-18 10:11:09

代理服務器設置代理服務器地址

2010-09-16 18:38:32

863HPClinpack

2019-07-30 08:30:40

Python主流數據庫

2009-11-30 09:17:59

2010-05-05 22:05:32

nginx負載均衡

2022-07-01 07:33:24

nginx反向代理測試

2018-01-23 06:41:46

SaaS云服務企業級

2023-12-05 09:14:54

2020-10-22 08:05:46

Nginx

2011-07-13 09:54:22

VMware故障vSphere

2009-02-04 09:45:05

Java SocketSocket APIJava編程

2020-11-04 00:00:29

Kerberos協議身份

2012-08-08 17:05:36

App運營
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 91精品久久久久久久久久入口 | 日韩中文字幕视频在线观看 | 欧美日韩一区二区在线播放 | av一级毛片 | 中文在线一区二区 | 一级黄在线观看 | 日本成人免费网站 | 亚洲一区二区成人 | 成人一级黄色毛片 | www.久久.com | 精品日韩一区二区三区av动图 | 国产日韩精品在线 | 日韩成人精品在线 | 精品中文字幕一区二区三区 | 精品久久亚洲 | 精品国产一区二区三区免费 | 日韩一级 | 亚洲人成人一区二区在线观看 | 日本黄视频在线观看 | 三级视频在线观看 | 成人午夜性成交 | 久久久久久久国产 | 亚洲性爰 | 国产一区 | 在线观看日韩av | 欧美成人h版在线观看 | 欧美精品一区二区三区四区 | 国产亚洲欧美在线 | 免费国产成人av | av网址在线播放 | 黄色片免费在线观看 | 中文字幕精品一区 | 国产91久久久久久久免费 | 久久草在线视频 | 国产91视频一区二区 | 免费久久99精品国产婷婷六月 | 日韩1区 | 亚洲欧美日韩在线 | 国产日韩欧美电影 | 国产精品免费一区二区三区四区 | 日本在线视 |