發表文章

目前顯示的是 3月, 2020的文章

[ Nginx ] 微服務權限管理

圖片
最近被問到,微服務系統要怎麼管理權限。上網查了一下,發現這方面的文章好像不多,加上好久沒更新了,想說就來分享一下。 我傾向權限通通交給 server來管理,這樣不管是用什麼樣的方式來驗證用戶,都不影響其他微服務運作。 因為要依賴到 Nginx,所以就直接使用 Docker了,先建立一個 docker-conpose.yaml文件。 version: '3' services: web: build: context: ./web dockerfile: Dockerfile command: gunicorn -b 0.0.0.0:8000 src.wsgi ports: - "8000:8000" volumes: - ./web/src:/web/src - ./volumes/media-root:/web/media-root nginx: image: nginx ports: - "80:80" volumes: - ./volumes/media-root:/nginx/media-root - ./nginx/default.conf:/etc/nginx/conf.d/default.conf 這個 yaml檔目的是運行 Nginx,其中主要是將設定檔放入 container中。 接著建立一個資料夾,並在裡面建立一個文件 default.conf。 server { listen 80 default_server; location /protectedMedia { internal; alias /nginx/media-root; } location / { proxy_pass http://web:8000; } } 在 server的區塊中建立兩個路徑, "/" 和 "/protectedMedia" ,"/"將會作為 Django的 proxy,"/protectedMedia&quo