使用Nginx:使用认证服务器(阿尔派尼)

我在这里使用 lxc 的 Alpine 容器进行了相同操作。
[Nginx:使用认证服务器](Nginx:使用认证服务器)
Nginx 和 Flask(认证服务器)位于同一主机上。

除了nginx的配置文件以外,其余都是相同的。

安装必要的软件。

sudo apk add nginx
sudo apk add python3
sudo apk add py3-pip

安装 Flask

pip install flask

设置 PATH 的值

export PATH=$PATH:$HOME/.local/bin

nginx的设置

server {
        listen 80 default_server;
        listen [::]:80 default_server;
                                      
        root /var/www/localhost/webroot;
                                        
        # Everything is a 404
                             
location /private/ {
        auth_request /auth/is_login;
    }                               
     
    location /auth {
        proxy_pass http://localhost:8888;
        proxy_redirect off;              
        proxy_set_header Host $http_host;
    }                                    
     
        # You may need this to prevent return 404 recursion.
        location = /404.html {           
                internal;                
        }
} 

页面布局 de

$ tree /var/www/localhost/webroot/
/var/www/localhost/webroot/
├── index.html
└── private
    ├── aaa
    │   └── index.html
    ├── bbb
    │   └── index.html
    ├── cat.jpg
    └── index.html

Nginx的启动

sudo service nginx start

Flask的配置

文件夹结构

$ tree src
src
└── app.py

启动命令

FLASK_APP=src/app.py flask run -h 0.0.0.0 -p 8888

启动时的情况

$ FLASK_APP=src/app.py flask run -h 0.0.0.0 -p 8888
 * Serving Flask app 'src/app.py'
 * Debug mode: off
WARNING: This is a development server. Do not use it in a production deployment. Use a production WSGI server instead.
 * Running on all addresses (0.0.0.0)
 * Running on http://127.0.0.1:8888
 * Running on http://10.39.166.140:8888
Press CTRL+C to quit

请提供一些相关资料

使用 LXD 容器技术来运行 Alpine 操作系统。

广告
将在 10 秒后关闭
bannerAds