Accès avec ET sans SSL sur sergveur NGINX + module RTMP
Coucou à tous !
Revoilà le canard pour une colle qu'il n'arrive pas à résoudre lol
Contexte :
Un VPS chez OVH, en Debian 12. Dans cet exemple, le nom de domaine sera mondomaine.fr (original hein :D ).
Installé dessus ; nginx, le module RTMP nginx, cerbot.
Objet : Faire un serveur vidéo live.
Étant assez novice dans ce genre de config, après pas mal de galère pour trouver quelque chose répondant à mon besoin, je suis parvenu à monter ce serveur, qui est accessible en https grâce à l'installation de cerbot et la création du certificat SSL.
2 adresses sont utilisées sur ce serveur :
https://mondomaine.fr:8080/stat (ceci me sert pour récupère des données et en sortir un array en JSON pour les utiliser par une autre page via requière AJAX).
https://mondomaine.fr:8088/live/stream.m3u8 (ceci est utilisé par le player videojs de la page affichant la vidéo).
Jusque là, tout va bien.
Le problème :
Je développe sur un serveur à la maison, et bien sur, je n'ai pas de SSL vu que réseau local. Mes pages sont donc affichées en http et non https.
Mais comme les navigateurs bloquent maintenant le mixed-content (pff) donc pas possible de choper les 2 liens https du VPS depuis les pages de mon serveur (http donc).
Voici le fichier de config /etc/nginx/sites-available/mondomain.fr :
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 70 71 72 73 74 75 76 77 78
| server {
root /var/www/mondomaine.fr/html;
index index.html index.htm index.nginx-debian.html;
server_name mondomaine.fr www.mondomaine.fr;
location / {
try_files $uri $uri/ =404;
}
listen 80;
listen [::]:443 ssl ipv6only=on; # managed by Certbot
listen 443 ssl; # managed by Certbot
ssl_certificate /etc/letsencrypt/live/mondomaine.fr/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mondomaine.fr/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
}
server {
if ($host = www.mondomaine.fr) {
return 301 https://$host$request_uri;
} # managed by Certbot
if ($host = mondomaine.fr) {
return 301 https://$host$request_uri;
} # managed by Certbot
listen 80;
listen [::]:80;
server_name mondomaine.fr www.mondomaine.fr;
return 404; # managed by Certbot
}
server {
listen 8080 ssl;
server_name mondomaine.fr www.mondomaine.fr;
ssl_certificate /etc/letsencrypt/live/mondomaine.fr/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mondomaine.fr/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
# rtmp stat
location /stat {
add_header Access-Control-Allow-Origin *;
rtmp_stat all;
rtmp_stat_stylesheet stat.xsl;
}
location /stat.xsl {
root /var/www/mondomaine.fr/html/rtmp;
}
# rtmp control
location /control {
rtmp_control all;
}
}
server {
listen 8088 ssl;
server_name mondomaine.fr www.mondomaine.fr;
ssl_certificate /etc/letsencrypt/live/mondomaine.fr/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mondomaine.fr/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location / {
add_header Access-Control-Allow-Origin *;
root /var/www/mondomaine.fr/html/stream;
}
}
types {
application/dash+xml mpd;
} |
J'ai bien essayé de rajouter listen 8080; et listen 8088; dans les deux blocs respectifs, mais ainsi NGINX ne démarre plus et le journal m'indique un duplicate listen.
Si quelqu'un a une tite idée car du coup je suis b loqué pour le développement de mes pages utilisant la vidéo :cry:
Merkouiiiinnn :D
Le Couin