Aller au contenu

Reverse proxy avec NGINX (restauré)


CoolRaoul

Messages recommandés

Il y a 9 heures, Fenrir a dit :

format UTF-8 (sans bom),

Plus que le codage UTF8, c'est le format des sauts de lignes qui est important

Voici la bonne configuration dans le cas de Notepad++

EbkVF3U.png

Et, toujours sous Notepad++, convertir un fichier déja existant au format Unix peut se faire à posteriori dans le menu "Edition":

nXF5GPh.png

Il y a 9 heures, Fenrir a dit :

sinon avec sed/awk/tr/dos2unix/... tu devrais pouvoir corriger le fichier.

dos2unix n'est malheureusement pas disponible sous DSM

Le plus simple est d’utiliser "sed". La syntaxe suivante permet de réparer le fichier "sur place" (sans avoir à passer par un fichier intermédiaire):

sed -i -e 's/\r//' fichier_à_convertir

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Ok effectivement je l'avais fais avec notepad ++ mais je vais essayer avec votre configuration, et avez vous une solution pour photostation ?

Merci et je reviens vers vous dans la journée.

 

Edit1 : voila j'ai fais les modifications correctement maintenant que je restart ou reload il n'y a plus d'erreur sauf une, ça me disait que le fichier nginx-local.pid n'existe pas mais j'ai remplacé par nginx.pid mais au final rien ne fonctionne :( cela m'indique que le domaine n'accepte pas la connexion. j'ai vérifié mes fichiers et je ne vois pas ou est l'erreur. vous les trouverez ci-joint https://www.petit-fichier.fr/2016/11/11/nginx/

Edit2 : C'est bon j'ai désactivé la redirection automatique en https dans les paramètres du dsm et ca passe. Par contre pour PhotoStation j'ai un 502 bad Gateway. SI vous avez une solution ce serais cool.

Bon j'avance petit a petit j'ai ce bout de code

	    server {
        listen         *:6080;
        listen       *:6443 ssl;
        server_name  ~^photo..*$;
        include ssl_defaults.conf;
        location / {
            proxy_pass https://localhost:80/photo;
            include proxy_defaults.conf;   
        }
    include /usr/local/etc/nginx/conf.d/www.PhotoStation.conf;
    }
	

Modifié par Victorien
Bug connexion ok PS no ok
Lien vers le commentaire
Partager sur d’autres sites

Hello @CoolRaoul

Est-ce que votre installation fonctionne toujours suite aux dernières mises à jour pour PhotoStation ? Je n'arrive plus à récupérer les données des albums depuis l'application DSPhoto (la connexion marche sur iPhone mais les albums ne chargent pas, erreur inconnue sur Android).

Sur Firefox, la connexion ne marche pas : "Changes are not saved because the connection has expired or you've been signed out. Please sign in and set up again.". Sur Chrome, ça marche.

Il y a peut être un paramètre supplémentaire à rajouter dans la config Nginx pour faire passer un paramètre au vHost de PhotoStation ? J'ai essayé de trouver sans succès.

Thx,

Quentin

Lien vers le commentaire
Partager sur d’autres sites

Le 11/11/2016 à 13:43, Victorien a dit :

avez vous une solution pour photostation

Je n'utilise pas PhotoStation désolé. :confused:

En outre j'ai cru comprendre qu'il est pas trop ami avec l’accès en reverse proxy. J'ai bien retrouvé quelques tentatives de conf que j'avais tenté de mettre au point pour ce service mais rapidement laissé tomber.

**EDIT**

Cependant, étant donné que PhotoStation sait utiliser les ports standards (80 et 443), l'utilité du reverse proxy dans son cas (qui est utile quand les ports 5000 et 5001 sont filtrés) m’apparaît moins indispensable.

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Salut @Victorien et @quentinus95, j'ai une config nginx qui fonctionne pour Photo Station, j'ai un peu lutté pour m'en sortir alors j'espère que ça vous aidera!

Voici la config en question :

Citation

 

#Photo Station
    server {
        listen       *:7543 ssl;
        server_name  ~^photo..*$;

        include ssl_defaults.conf;
        location / {
            proxy_pass  https://localhost;
            include proxy_defaults.conf;
        }
    }

 

J'ai fait le choix de n'y accéder qu'en ssl mais pas de raison pour que ça ne marche pas en http. Ensuite j'utilise ce lien pour me connecter : https://photo.monsite.fr:7543/photo

Je n'ai pas besoin d'autre config/réglage pour que ça fonctionne.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 mois après...

Eh bien,j'ai un refus de connexion ou

"La connexion a échoué

Firefox ne peut établir de connexion avec le serveur à l’adresse ...." en fonction du navigateur

Dans le log j'ai

2017/02/19 11:27:01 [crit] 27542#27542: *3957 SSL_do_handshake() failed (SSL: error:14076102:SSL routines:SSL23_GET_CLIENT_HELLO:unsupported protocol) while SSL handshaking, client: 74.82.47.5, server: 0.0.0.0:4443

 

Si je strappe nginx et que je passe par le port déclarée de l'appli p.ex. 7001

xx.yy.fr:7001 utilise un certificat de sécurité invalide. Le certificat n’est pas sûr car le certificat de l’autorité l’ayant délivré est inconnu. Le serveur n’envoie peut-être pas les certificats intermédiaires appropriés. Il peut être nécessaire d’importer un certificat racine supplémentaire. Le certificat n’est pas valide pour le nom xx.yy..fr. Code d’erreur : SEC_ERROR_UNKNOWN_ISSUER

Les certificats (starcom) sont valides dans l'interface et identique a la declaration dans nginx.

 

Modifié par alca2k2
Lien vers le commentaire
Partager sur d’autres sites

il y a une heure, alca2k2 a dit :

Les certificats (starcom) sont valides dans l'interface et identique a la declaration dans nginx.

heu ... un certificat comme çà, autant ne rien utilisé et tout passer en http :lol:

en + on a let's encrypt sur les nas depuis maintenant bien longtemps

 

Lien vers le commentaire
Partager sur d’autres sites

Le 27/02/2017 à 23:50, gaetan.cambier a dit :

heu ... un certificat comme çà, autant ne rien utilisé et tout passer en http :lol:

en + on a let's encrypt sur les nas depuis maintenant bien longtemps

 

heu bounjour

et merci

mais plutôt que des moqueries , j'aurai préféré un peu d'aide et des conseils

On n'a pas le droit d'apprendre...??

 

Le 27/02/2017 à 23:58, Fenrir a dit :

E = axxxxx2@yahoo.fr
CN = mydox
OU = mydir
O = mydir
L = Daux
ST = MP
C = FR

 

Certificat valide 10ans mais invalide (CN pas bon et pas de CA)

Merci

je vais regarder ca,

mais pas ces soucis avant le 6.1, qu est ce qui aurai changé ?

Lien vers le commentaire
Partager sur d’autres sites

Le pb se situait bien sur la couche 8 à 40cm de l'ecran.

j'ai crée mes certifs letsencrypt.

 

 

Mais pouvez vous m'en dire plus sur

"heu ... un certificat comme çà (starcom) , autant ne rien utilisé et tout passer en http  "

Effectivement STARCOM avait communiqué sur la non-reconnaissance par les navigateurs "majeurs"

Mais qu'est ce qui avait provoqué cela et en quoi les certificats n'etaient-ils pas éfficace ?

 

 

 

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

Je suis en DSM 5.2 et impossible de lancer le script, j'obitens l'erreur suivante :

nginx.sh: line 52: -p: not found

Merci de toute aide

contenu du script :

 

#! /bin/ash
#
#   nginx local startup for DSM
#  
PATH="/bin:/usr/bin"

BASE="/usr/local"                      

#   contourner la restriction AppArmor (DSM6)
#SYSNGINX=/bin/nginx
#NGINX=$BASE/bin/nginx
#cp --update --archive $SYSNGINX $NGINX

PREFIX="$BASE/etc/nginx"
CONF="$PREFIX/nginx.conf"
PIDFILE="/var/run/nginx-local.pid"
PROXY_TEMP_PATH="/var/lib/nginx-local/proxy"
[ -f $CONF ] || exit 0

if [ ! -d $PROXY_TEMP_PATH ] ; then
    mkdir -p $PROXY_TEMP_PATH
    chown http:http $PROXY_TEMP_PATH
    chmod u=rwx,g=rwx,o= $PROXY_TEMP_PATH
fi

action=$1
#   build nginx arglist
set -- -p $PREFIX -c $CONF -g "pid $PIDFILE;"
case $action in
    start)
        [ -t 0 ] || exec >/tmp/nginx-startup.log 2>&1
        $NGINX "$@" && echo >&2  "nginx: $action"
        ;;
    stop|reload|quit)
        $NGINX "$@" -s $action && echo >&2  "nginx: $action"
        ;;
    restart)
        for action in stop start
        do
            $0   "$action"
        done
        ;;
    status)
        if [ -r $PIDFILE ] ; then
#            ps -www -fp $(<$PIDFILE) # <ligne à utiliser en DSM6, suivante pour DSM5
            /bin/ps -w | awk -vpid="$(cat $PIDFILE)" '($1 == pid)'
        fi
        ;;
    *)
        echo "$0: unknown param \"$action\""
        ;;
esac

Lien vers le commentaire
Partager sur d’autres sites

@yongbi même si le commentaire fait référence à DSM6, Il ne fallait pas commenter comme tu l'as fait le bloc de code ci dessous:

#SYSNGINX=/bin/nginx
#NGINX=$BASE/bin/nginx
#cp --update --archive $SYSNGINX $NGINX

car alors la variable shell "NGINX" est vide et par suite la ligne:

$NGINX "$@" && echo >&2  "nginx: $action"

commence directement par les arguments ("-p ..." en l’occurrence) ce qui explique l'erreur constatée

En complément, je n'ai pas de DSM5 sous la main mais il est aussi possible que "cp --update --archive" ne fonctionne pas. Le plus simple est alors de remplacer les 3 lignes précédentes par:

NGINX=/bin/nginx

En gardant à l'esprit qu'il faudra remettre la version originale en cas de migration sous DSM6

Modifié par CoolRaoul
Lien vers le commentaire
Partager sur d’autres sites

Merci pour ta réponse mais là je sèche.. j'ai vérifié j'ai bien nginx dans /usr/bin mais quand je lance le script :

HPPROLIANT> ./nginx.sh start
./nginx.sh: line 55: usr/bin/nginx: not found
 

HPPROLIANT> ls -lrt | grep -i nginx
-rwxr-xr-x    1 root     root        673852 Apr 26  2016 nginx
 

Et je suis connecté en root. donc je ne pige pas

 

dans le sh j'ai mis  :

PATH="/bin:/usr/bin"

BASE="/usr/local"                      

#   contourner la restriction AppArmor (DSM6)
#SYSNGINX=/bin/nginx
#NGINX=$BASE/bin/nginx
#cp --update --archive $SYSNGINX $NGINX

#DSM 5 seulement pour ligne suivante
NGINX="usr/bin/nginx"

Lien vers le commentaire
Partager sur d’autres sites

Bonjour,

j'utilise le reverse proxy de CoolRaoul depuis la mise en place nginx.

je l'avais fait seul sous apache avant, mais ne connaissant pas nginx, ce tuto m'avais été d'un grand secours.

je dirais même que je ne l'aurais pas fait sans ce tuto !

Mais depuis la semaine dernière j'ai un "très" gros problème, dont je ne soupçonnais pas l'existance, mon certificat est un certif... starcom :confused:

j'ai vu dans ce post que ça traine depuis plusieurs mois et que c'est connu,

mais il y a quelques mois (l'année dernière, même époque ?), quand le sha1 avait été proscrit, les navigateurs (chrome pour moi) le signalait avec un symbol particulier dans la barre l'url, mais pas cette fois-ci. je me suis donc fait surprendre lors de la mise à jour.

du coup j'ai une dizaine de services auto hébergés (principalement de la domotique) auquel je n'ai plus du tout accès, n'ayant ouvert que le https sur le reverse proxy.

du coup j'ai 3 solutions :

1) ouvrir le http (j'ai vraiment vraiment pas envie)

2) utiliser un autre fournisseur de certificat (j'utilise du wildcard, car j'ai un service == un sous domaine) et je sais pas trop vers lequel me tourner (prix/service/fiabilité) et surtout niveau prix, c'est juste impossible (genre 300$ / 400$ par an :eek:) c'est pour un usage perso.

chez starcom, j'utilisais une validation d'identité (60$ pour un an) et les certificats étaient valables 2ans, donc en la jouant bien, ça faisait 60$ pour 3ans... et 2 certificats wildcard...

3) utiliser lets encrypt, MAIS :

-impossible d'avoir un certificat wildcard, ça risque d'être penible

- nginx (le perso du reverse proxy) peut-il utiliser directement le certificat de DSM (qui il me semble gère l'auto renouvellement)

- idem avec SRM, qui utilisait mon certificat, hors pas de lets encrypt (pour le moment ?) dessus

car recopier ou renouveler un certificat tous les 2 / 3 ans ça va, mais tous les 30 ou 90 jours c'est lourd...

d'avance merci pour vos conseils, car là je suis bloqué/dégouté...

 

 

Modifié par pitch78
précisions pour lets encrypt & indication des prix trouvés
Lien vers le commentaire
Partager sur d’autres sites

Rejoindre la conversation

Vous pouvez publier maintenant et vous inscrire plus tard. Si vous avez un compte, connectez-vous maintenant pour publier avec votre compte.

Invité
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.