Mettre en place de l'autentification avec auth0 pour un serveur shiny
Bonjour,
J'ai installé un serveur shiny puis mis en place un serveur nginx pour effectuer la terminaison SSL / TLS qui retransmet ensuite toutes les demandes à un serveur proxy interne shiny-auth0 pour faire de l'autentification avec auth0.
Le serveur shiny et nginx fonctionne, j'arrive à accèder à leurs pages d'accueil. J'ai installé nodejs et auth0, j'arrive à accèder à la page d'autentification. Tout fonctionne indépendamment ^^. Puis quand j'essaye de tout assembler ca ne marche pas.
Après avoir fait node bin/ww dans le répertoire de shiny-auth0, dans un navigateur internet je tape https://adresse_ip_du_serveur ca me renvoie à une page avec un message d'erreur 502 Bad Gateway nginx/1.12.2.
Je suis sous CentOS 7, et les serveurs shiny et nginx se trouvent sur la même machine distante.
/etc/nginx/nginx.conf
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
events {
}
http {
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
# Listen on port 80 and redirect all requests to the
# TLS enabled server (https, port 443)
server {
listen *:80;
# Your hostname should go here
server_name localhost;
access_log off;
location / {
rewrite ^ https://$host$request_uri? permanent;
}
}
# TLS enabled server
server {
listen 443 ssl;
# Your hostname should go here
server_name localhost;
# TLS/SSL certificates for your secure server should go here.
ssl_certificate /etc/ssl/certs/nginx-selfsigned.crt;
ssl_certificate_key /etc/ssl/private/nginx-selfsigned.key;
# To enhance security, as long as you don't need to support older browsers
# (and you probably don't), you should only enable the most secure
# ciphers and algorithms. This is a sane selection.
ssl_ciphers ""EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH"";
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_session_cache builtin:1000 shared:SSL:10m;
# This proxies requests to our shiny-auth0 authentication proxy.
# Requests are passed in plain HTTP, so TLS termination
# is applied at this point.
location / {
proxy_set_header Host $host;
# This points to our shiny-auth0 authentication proxy,
# change localhost:3000 to suit the configuration of
# your shiny-auth0 config
proxy_pass http://127.0.0.1:3000;
proxy_redirect http://127.0.0.1:3000/ $scheme://$host/;
proxy_http_version 1.1;
# The following lines enable WebSockets proxying, do not remove them
# as they are used by Shiny Server to improve user experience
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_connect_timeout 3h;
proxy_send_timeout 3h;
proxy_read_timeout 3h;
}
}
} |
shiny-auth0/.env
Code:
1 2 3 4 5 6 7 8 9
|
AUTH0_CLIENT_SECRET=CoolSecret
AUTH0_CLIENT_ID=ClientId
AUTH0_DOMAIN=Domain
AUTH0_CALLBACK_URL=https://localhost/callback
COOKIE_SECRET=somethingRandomHerePlease
SHINY_HOST=localhost
SHINY_PORT=3838
PORT=3000 |
Dans le compte auth0 que j'ai crée sur leur site (auth0.com), j'ai mis les infos qu'il y avait dans Clients Setting, dans Allowed Callback URLs
j'ai mis https://adresse_ip_du_serveur/callback
sudo cat /var/log/nginx/error.log
Code:
1 2 3 4
| 2018/01/23 06:53:38 [crit] 1545#0: *3 connect() to 127.0.0.1:3000 failed (13: Permis
sion denied) while connecting to upstream, client: 191.250.99.150, server: $localho
st, request: "GET / HTTP/1.1", upstream: "http://127.0.0.1:3000/", host: "30.200.131
.212" |