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.
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
Que mon front discute normalement avec les requetes type https//api.exemple.com et wss://api.exemple.com
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.