Proxy non configuré dans le navigateur : redirection ou page d'information

Redirection transparente HTTP sur Amon

Sur le module Amon, les flux HTTP provenant des réseaux internes sont redirigés vers le proxy.

Attention

La redirection transparente ne fonctionne pas avec le protocole HTTPS car il s'agit d'un mode connecté qui ne supporte pas ce genre de manipulation sur les paquets. La redirection est faite uniquement pour obliger les postes à utiliser le proxy.

Attention

La redirection transparente n'est pas mise en place sur le module AmonEcole et ses variantes.

Attention

Si l'authentification du proxy est activée sur l'interface, la redirection fonctionnera mais pas l'authentification et l'utilisateur obtiendra une page d'erreur explicite provenant du logiciel Squid.

Page d'erreur renvoyée par Squid en cas d'erreur d'authentification
Page d'erreur renvoyée par Squid en cas d'erreur d'authentification

Truc & astuce

Dans l'onglet Exceptions proxy de l'interface de configuration du module, il est possible de déclarer des adresses de destination qui seront exclues de la redirection vers le proxy.

Page d'information renvoyée par Nginx

Sur les modules Amon et AmonEcole, la configuration du logiciel Nginx a été adaptée afin de détecter le cas où le navigateur du client n'a pas été configuré correctement et lui renvoyer un message d'erreur suffisamment explicite.

Page d'erreur renvoyée par Nginx en cas de proxy non configuré
Page d'erreur renvoyée par Nginx en cas de proxy non configuré

Truc & astuce

La page d'erreur affichée dans le navigateur peut être personnalisée.

Personnaliser la page renvoyée par Nginx à l'aide d'un patch

La page d'erreur affichée dans le navigateur est un template Creole  : /usr/share/eole/creole/distrib/nginx.no_proxy.html

Il est possible de le modifier de façon pérenne en utilisant un patch pour Creole.

Il faut copier le template d'origine dans le répertoire /usr/share/eole/creole/modif/

root@amon:~# cp /usr/share/eole/creole/distrib/nginx.no_proxy.html /usr/share/eole/creole/modif/nginx.no_proxy.html

Il faut éditer, modifier et enregistrer le fichier copié

root@amon:~# vim /usr/share/eole/creole/modif/nginx.no_proxy.html

Puis il faut générer le patch à l'aide de la commande gen_patch

root@amon:~# gen_patch

Le fichier contenant les différences est créé dans le répertoire /usr/share/eole/creole/patch/

Attention

Les changements prennent effet après la reconfiguration du serveur à l'aide de la commande reconfigure

root@amon:~# reconfigure

La page servie par Nginx contient les modifications :

root@amon:~# vim /var/www/index.html

Exemple

1
root@amon:~# cp /usr/share/eole/creole/distrib/nginx.no_proxy.html /usr/share/eole/creole/modif/nginx.no_proxy.html
2
root@amon:~# vim /usr/share/eole/creole/modif/nginx.no_proxy.html
3
[...]
4
root@amon:~# gen_patch
5
6
** Génération des patches à partir de modif **
7
8
Génération du patch nginx.no_proxy.html.patch
9
10
** Fin de la génération des patch **
11
12
root@amon:~# ls /usr/share/eole/creole/patch/
13
nginx.no_proxy.html.patch  variante
14
root@amon:~# reconfigure
15
[...]
16
root@amon:~# vim /var/www/index.html

Il est possible d'appeler des variables Creole comme par exemple %%libelle_etab et aussi d'ajouter des images en les ajoutant par exemple dans un dossier /img dans /var/www/.

Exemple

1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
2
<html>
3
    <META http-equiv="Content-Type" content="text/html; charset=utf-8;">
4
    <head>
5
<title>Veuillez configurer le proxy de votre navigateur</title>
6
<style>
7
.main {
8
        background:#bbbbbb;
9
        text-align:center;
10
}
11
h1 {
12
    /* text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.75);*/
13
    color: #91e842;
14
    font-size: 50px;
15
    text-align:center;
16
    text-shadow: 0 1px 0 #eee,
17
             0 2px 0 #e5e5e5,
18
             -1px 3px 0 #C8C8C8,
19
             -1px 4px 0 #C1C1C1,
20
             -2px 5px 0 #B9B9B9,
21
             -2px 6px 0 #B2B2B2,
22
             -2px 7px 2px rgba(0,0,0, 0.6),
23
             -2px 7px 8px rgba(0,0,0, 0.2),
24
             -2px 7px 45px rgba(0,0,0, 0.4);
25
}
26
.message {
27
    top:25%;
28
    text-align:center;
29
    margin-left: 50px;
30
    margin-right: 50px;
31
32
    padding: 40px;
33
    background: #d2ff52;
34
    border: 1px solid #000000;
35
36
    border-radius: 10px;
37
    -moz-border-radius: 10px;
38
    -webkit-border-radius: 10px;
39
40
    box-shadow: 5px 7px 10px 6px rgba(119, 119, 119, 0.75);
41
    -moz-box-shadow: 5px 7px 10px 6px rgba(119, 119, 119, 0.75);
42
    -webkit-box-shadow: 5px 7px 10px 6px rgba(119, 119, 119, 0.75);
43
}
44
</style>
45
    </head>
46
    <body class='main'>
47
    <img src="./img/logoEolePt.png">
48
    <h1>%%libelle_etab</h1>
49
    <h2>Votre navigateur n'est pas correctement configuré !!</h2>
50
    <div class="message">Pour naviguer sur internet, un proxy doit être déclaré dans votre navigateur.<br />
51
Si vous accédez à la présente page, c'est que votre navigateur n'est pas configuré pour utiliser le proxy. Veuillez contacter le service informatique de l'établissement.</div>
52
    </body>
53
</html>
54
Page d'erreur renvoyée par Nginx en cas de proxy non configuré
Page d'erreur renvoyée par Nginx en cas de proxy non configuré