vhost apache + nodejs

Par laplumaencre, il y a 6 ans


Javascript NodeJS

Bonjour,

Voila je rencontre un petit problème avec mon code.
Je n'arrive pas configurer mon vhost apache pour qu'il renvoit les requetes provenant de sub.exemple.com vers api.exemple.com

Le front est en vuejs, le backend avec Nodejs, Express, et socket.io en front et back.

Ce que je fais

Je test depuis une semaine des config, tous les liens de google possible sont passée au violet ;-)

front =>

import io from "socket.io-client"; var socket = io(process.env.VUE_APP_API, { // url httpS (donc vers :443) requete fait par socket.io en wsS transports: ['websocket'], // tester en polling aussi secure: true, reconnect: true, rejectUnauthorized : false });

Back =>
server.js

const io = require('socket.io')(server); io.set('transports',['polling','websocket','flashsocket','htmlfile','xhr-polling','jsonp-polling']); io.set('origins', 'https://sub.exemple.com'); io.on('connection', (socket) => { ...}

app.js (j'ai commenté Cors() pour laisser le minimum..pareil

app.use(cors({ origin: 'https://sub.exemple.com' , credentials : true})); // CORS /*const whitelist = [ process.env.URL_SITE ] const corsOptions = { origin: function (origin, callback) { console.log(whitelist) if (whitelist.indexOf(origin) !== -1) { callback(null, true) } else { callback(new Error('Not allowed by CORS')) } }, credentials: true, methods: ['GET', 'PUT', 'POST', 'DELETE', 'PATCH', 'OPTIONS', 'HEAD'] } var corsOptions = { origin: process.env.URL_SITE, optionsSuccessStatus: 200 } app.use(cors(corsOptions)) // MiddleWare Secure app.use(helmet()) */

vhost api.exemple.com *80 => 443
vhost api.exemple.com =>

ServerName api.*****.com RewriteEngine On RewriteCond %{REQUEST_URI} ^socket.io [NC] RewriteCond %{QUERY_STRING} transport=websocket [NC] RewriteRule /{.*} wss://localhost:3000/$1 [P,L] #tester avec polling, avec ws aussi ProxyPass /api http://localhost:3000/ ProxyPassReverse /api http://localhost:3000/ ProxyPass /socket.io http://localhost:3000/socket.io ProxyPassReverse /socket.io http://loacalhost:3000/socket.io ProxyPass /socket.io wss://localhost:3000/socket.io ProxyPassReverse /socket.io wss://localhost:3000/socket.io SSLEngine on SSLCertificateFile /etc/letsencrypt/live/api.*****.com/fullchain.pem SSLCertificateKeyFile /etc/letsencrypt/live/api.*****.com/privkey.pem Include /etc/letsencrypt/options-ssl-apache.conf

Ce que je veux

Que mon front discute normalement avec les requetes type https//api.exemple.com et wss://api.exemple.com

Ce que j'obtiens

error 503, error 404, erreur 500, suivant les bidouilles et test que je fais, mais là j'avoue, je crack à tourner en rond
Merci de votre aide.

1 réponse

laplumaencre, il y a 6 ans

Personne pour m'aider :-/