【问题标题】:How to setup Nginx with Auth0?如何使用 Auth0 设置 Nginx?
【发布时间】:2018-03-07 03:10:53
【问题描述】:

我在 3000 端口运行了一个应用程序。

此应用在反向代理后面运行,例如:

server {
    listen 80;
    server_name myapp;

    location / {
        proxy_pass http://127.0.0.1:3000;
    }
}

所以,每次我访问我的网站时,它都会从端口 3000 向 localhost 提供内容,并且工作正常。

问题是在auth0认证之后,当用户通过认证时,它一直重定向到localhost:3000/#,我怎样才能让它工作到localhost?

这是我的 Nginx 配置文件:

server {
    listen 80;
    server_name myapp;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_set_header X-NginX-Proxy true;
    }

    location /generic_oauth/ {
        proxy_pass http://127.0.0.1:3000;
    }
}

回调是localhost/login/generic_oauth

我的 auth0 设置回调是:http://localhost:3000/login/generic_oauth

如果我将我的 auth0 回调更改为 http://localhost/login/generic_oauth

得到错误:

回调必须是http://localhost:3000/login/generic_oauth

对不起我的英语不好

【问题讨论】:

  • 你终于解决了这个问题吗?

标签: nginx go grafana


【解决方案1】:

应用程序必须知道在它发出的 URL 上使用什么域名。 nginx 可能还需要做一些重写。

按照此处的说明添加一个 X-Forwarded-Host 标头,并可能添加一个 proxy_redirect 指令

https://www.nginx.com/resources/wiki/start/topics/examples/likeapache/

【讨论】:

    【解决方案2】:

    127.0.0.1 是环回地址(也称为 localhost)。
    0.0.0.0 是一个不可路由的元地址,用于指定无效、未知或不适用的目标(“无特定地址”) ' 占位符)。

    【讨论】:

      猜你喜欢
      • 2018-05-25
      • 2017-08-17
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-11
      • 2020-09-14
      相关资源
      最近更新 更多