• 搜索
  • 夜间模式
    ©2025-2026  技术杂货铺 Theme by OneBlog

    技术杂货铺博客

    搜索
    标签
    # npm # authentik # ddns # wg-easy # v2ray
  • 首页>
  • 技术>
  • 正文
  • Authentik搭建及设置NPM

    2026年03月28日 22 阅读 0 评论 2988 字

    一、Authentik搭建
    1.下载一个 Authentik 最新版本的 docker-compose 文件
    wget https://goauthentik.io/docker-compose.yml
    2.接下来你需要做的是创建一个 .env 文件,在终端输入以下命令:
    echo "PG_PASS=$(openssl rand -base64 36)" >> .env
    echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 36)" >> .env
    env文件显示如下:后面四行可自已添加
    PG_PASS=Fb9rB2mbQGaBBTdhiwbv7jEWWTgLrXATDvAJlGNJvMzYfWhh
    AUTHENTIK_SECRET_KEY=07yYAmqAeV8dX8XV/k1RmM+KgzU3zAPUp0TL8ywI+aq2lf3+
    AUTHENTIK_LISTEN__TRUSTED_PROXY_CIDRS="192.168.0.0/16,172.21.0.0/12,0.0.0.0/0"
    AUTHENTIK_SERVER__EXTERNAL_HOST="https://auth.198388.xyz"
    AUTHENTIK_INSECURE=true
    AUTHENTIK_HOST="https://auth.198388.xyz"
    3.修改完 .env,就可以执行 docker compose pull 拉取镜像。
    4.当所有的镜像都已经拉取下来之后,我们就可以启动 docker compose up -d 来将这些容器都创建出来.
    5.那我这边的话 192.168.2.195 就是我测试设备的 IP,9000呢是它 HTTP 的端口号。
    二、结合NPM访问内网authentik
    在Nginx Proxy Manager的advanced添加以下配置,其中http://192.168.2.195:9000是authentik的地址:
    location / {
    proxy_pass http://192.168.2.195:9000;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";
    # 关键:锁定 4333
    proxy_set_header Host $host:4333;
    proxy_set_header X-Forwarded-Host $host:4333;
    proxy_set_header X-Forwarded-Port 4333;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Real-IP $remote_addr;
    }
    error_page 497 https://$http_host$request_uri;
    三、authentik结合NPM访问其他站点
    1、在Nginx Proxy Manager的advanced添加以下配置,其中http://192.168.30.7:9876是需要访问的应用的地址,内容如下:
    # 1.放在最顶部,解决大 Cookie 导致的 500
    error_page 497 https://$http_host$request_uri;
    proxy_buffer_size 128k;
    proxy_buffers 4 256k;
    proxy_busy_buffers_size 256k;
    large_client_header_buffers 4 128k;
    # 2.验证接口(去掉 proxy_pass 结尾的斜杠)
    location /outpost.goauthentik.io/ {
    proxy_pass http://192.168.2.195:9000; # 不要在这里加 /outpost... 否则路径会重叠
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
    proxy_set_header X-Original-URL $scheme://$http_host$request_uri;
    }
    # 3.根路径拦截
    location / {
    # 这一行必须和上面的 location 对应
    auth_request /outpost.goauthentik.io/auth/nginx;
    # 捕捉验证失败
    error_page 401 = @goauthentik_proxy_redirect;
    # 你的后端应用
    proxy_pass http://192.168.30.7:9876;
    # 将验证后的用户信息和 Cookie 传给后端及浏览器
    auth_request_set $auth_cookie $upstream_http_set_cookie;
    add_header Set-Cookie $auth_cookie;
    # 获取 authentik 传回的用户信息(可选,方便后端识别用户)
    auth_request_set $authentik_username $upstream_http_x_authentik_username;
    proxy_set_header X-Authentik-Username $authentik_username;
    proxy_set_header Host $http_host;
    proxy_set_header X-Real-IP $remote_addr;
    }
    # 4.登录跳转逻辑
    location @goauthentik_proxy_redirect {
    internal;
    # 使用当前正在访问的应用域名 (deddns.198388.xyz:4333) 来触发 start
    return 307 $scheme://$http_host/outpost.goauthentik.io/start?rd=$scheme://$http_host$request_uri;
    }
    2、同时authentik需创建应用程序及提供应用程序并设置前哨

    本文著作权归作者 [ 爱生活的懒人 ] 享有,未经作者书面授权,禁止转载,封面图片来源于 [ 互联网 ] ,本文仅供个人学习、研究和欣赏使用。如有异议,请联系博主及时处理。
    authentiknpm

    发表留言
    回复

    Copyright©2025-2026  All Rights Reserved.  Load:0.008 s
    Theme by OneBlog V3.6.5
    夜间模式

    开源不易,请尊重作者版权,保留基本的版权信息。