Bonjour,

J'ai essayer et ressayer de retourner la question dans tout les sens et ne trouve pas de solutions pour le moment.

Mon problème concerne la CSP de mon application web.
Je ne comprends pas et ne trouve pas de docs sur comment configurer ma CSP netre mon retro proxy nginx et mon front qui est sur nextjs.

Voici ma configuration nginx:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
70
71
72
73
74
75
76
77
78
ssl_session_cache   shared:SSL:10m;
ssl_session_timeout 10m;

upstream frontend {
    server nextjs:3000;
}

server {
    listen				80;
    server_name			${DOMAIN_NAME};
	return 301 https://${DOMAIN_NAME}:443$request_uri;
}

server {
	listen		443 ssl;
	server_name ${DOMAIN_NAME};
	modsecurity on;
        modsecurity_rules_file /etc/nginx/modsec/main.conf;
	autoindex off;
        ssl_certificate	/etc/nginx/ssl/monapp.pem;
        ssl_certificate_key	/etc/nginx/ssl/monapp.key;
        ssl_protocols   TLSv1.2 TLSv1.3;
        ssl_ciphers		HIGH:!aNULL:!MD5;
	ssl_prefer_server_ciphers on;

	if ($host !~* "^${DOMAIN_NAME}$") {
		return 444;
	}

	# tells the browser that the application can only be accessed with https
	add_header Strict-Transport-Security "max-age=63072000000; includeSubDomains; preload" always;

	# prevent XSS attack on Internet Explorer and Safari
	add_header X-XSS-Protection "1; mode=block" always;

	# disable sniffing and risk
	add_header X-Content-Type-Options "nosniff" always;

	# Generate unique nonce
	set $csp_nonce "";
	set $csp_nonce $request_id;

	# Content Security Policy
	add_header Content-Security-Policy "
		default-src 'self';
		script-src 'self' 'nonce-$csp_nonce';
		style-src 'self' 'nonce-$csp_nonce';
		img-src 'self' data;
		font-src 'self';
		connect-src 'self';
		object-src 'none';
		form-action 'self';
		frame-ancestors 'self';
		upgrade-insecure-requests;
		base-uri 'self';
	" always;

	add_header x-csp-nonce $csp_nonce;

	add_header Referrer-Policy "no-referrer" always;

	add_header Permissions-Policy "geolocation=(self), microphone=(self), camera=(self)" always;

	location / {
		if ($request_method !~ ^(GET|HEAD)$ ) {
			return 444;
		}
		proxy_pass http://frontend;
		proxy_http_version 1.1;
		proxy_set_header Upgrade $http_upgrade;
		proxy_set_header Connection "Upgrade";
		proxy_set_header Host $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_redirect off;
	}
}
==========================================================================================

Et voila le type d erreur que retourne la console:

Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: color:transparent
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: background-image:url(/images/background_…
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: color:transparent
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: background-image:url(/images/background_…
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: color:transparent
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: background-image:url(/images/background_…
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: color:transparent
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: background-color:rgb(20, 135, 30, 1);bac…
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: color:transparent
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: background-color:rgb(166, 34, 186, 1);ba…
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: color:transparent
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Source: color:transparent
Content-Security-Policy : Les paramètres de la page ont empêché l’application d’un style intégré (style-src-attr) car il enfreint la directive suivante : « style-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’exécution d’un script intégré (script-src-elem) car il enfreint la directive suivante : « script-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’exécution d’un script intégré (script-src-elem) car il enfreint la directive suivante : « script-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’exécution d’un script intégré (script-src-elem) car il enfreint la directive suivante : « script-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’exécution d’un script intégré (script-src-elem) car il enfreint la directive suivante : « script-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’exécution d’un script intégré (script-src-elem) car il enfreint la directive suivante : « script-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’exécution d’un script intégré (script-src-elem) car il enfreint la directive suivante : « script-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’exécution d’un script intégré (script-src-elem) car il enfreint la directive suivante : « script-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »
Content-Security-Policy : Les paramètres de la page ont empêché l’exécution d’un script intégré (script-src-elem) car il enfreint la directive suivante : « script-src 'self' 'nonce-b37f2c927658b399b7a065bac0dc4dbc' »