Voici mon serveur node :
Si j'enlève la partie sécurisé, je met http au lieu d'https et j'enlève les options, j'ai toujours l'erreur 502 Proxy Error
Code : Tout sélectionner
var fs = require('fs');
var path = require('path');
var options = {
key: fs.readFileSync(path.join(__dirname,'/../../var/ssl/webastro.key')),
cert: fs.readFileSync(path.join(__dirname,'/../../var/ssl/webastro.crt')),
ca: fs.readFileSync(path.join(__dirname,'/../../var/ssl/webastro_int.crt'))
};
var https = require('https');
var server = https.createServer(options,function(req,res){
res.writeHead(200,{"Content-Type":"text/plain"});
console.log("one client connect");
res.write("Hello World from node");
res.end();
});
server.listen(1812);
var io = require('socket.io').listen(server);
io.sockets.on('connection', function(socket){
socket.on('disconnect', function(){
});
});
Et voici mon virtualHost actuel :
Code : Tout sélectionner
<VirtualHost *:80>
ServerAdmin [email protected]
ServerName io.monsite.fr
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://io.monsite.fr:1812/$1 [P,L]
ProxyPass / http://io.monsite.fr:1812/
ProxyPassReverse / http://io.monsite.fr:1812/
</VirtualHost>
Voila ce que j'ai dans mon log :
[Thu Jan 12 14:18:13.252052 2017] [proxy_http:error] [pid 6545] (20014)Internal error: [client 2.8.192.65:49811] AH01102: error reading status line from remote server io.monsite.fr:1812, referer:
http://io.monsite.fr/
Je vais repartir à zéro sur ce code et ce virtualhost
Je t'explique ce que je veux :
J'aimerai que mon serveur nodejs avec lequel je travaillerai avec socket.io pointe sur io.monsite.fr
Et que io.monsite.fr soit redirigé en proxy sur le port 1812
Mais vu que mon site est en https, comment trouver le fichier socket.io.js en http sur mon site il va trouver l'erreur :
The page at '
https://www.monsite.fr/login' was loaded over HTTPS, but requested an insecure script '
http://io.monsite.fr/socket.io/socket.io.js'. This request has been blocked; the content must be served over HTTPS.
Voici mon serveur node :
Si j'enlève la partie sécurisé, je met http au lieu d'https et j'enlève les options, j'ai toujours l'erreur 502 Proxy Error
[code]var fs = require('fs');
var path = require('path');
var options = {
key: fs.readFileSync(path.join(__dirname,'/../../var/ssl/webastro.key')),
cert: fs.readFileSync(path.join(__dirname,'/../../var/ssl/webastro.crt')),
ca: fs.readFileSync(path.join(__dirname,'/../../var/ssl/webastro_int.crt'))
};
var https = require('https');
var server = https.createServer(options,function(req,res){
res.writeHead(200,{"Content-Type":"text/plain"});
console.log("one client connect");
res.write("Hello World from node");
res.end();
});
server.listen(1812);
var io = require('socket.io').listen(server);
io.sockets.on('connection', function(socket){
socket.on('disconnect', function(){
});
});[/code]
Et voici mon virtualHost actuel :
[code]<VirtualHost *:80>
ServerAdmin
[email protected] ServerName io.monsite.fr
RewriteEngine On
RewriteCond %{REQUEST_URI} ^/socket.io [NC]
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://io.monsite.fr:1812/$1 [P,L]
ProxyPass / http://io.monsite.fr:1812/
ProxyPassReverse / http://io.monsite.fr:1812/
</VirtualHost>
[/code]
Voila ce que j'ai dans mon log :
[Thu Jan 12 14:18:13.252052 2017] [proxy_http:error] [pid 6545] (20014)Internal error: [client 2.8.192.65:49811] AH01102: error reading status line from remote server io.monsite.fr:1812, referer: http://io.monsite.fr/
Je vais repartir à zéro sur ce code et ce virtualhost
Je t'explique ce que je veux :
J'aimerai que mon serveur nodejs avec lequel je travaillerai avec socket.io pointe sur io.monsite.fr
Et que io.monsite.fr soit redirigé en proxy sur le port 1812
Mais vu que mon site est en https, comment trouver le fichier socket.io.js en http sur mon site il va trouver l'erreur :
The page at 'https://www.monsite.fr/login' was loaded over HTTPS, but requested an insecure script 'http://io.monsite.fr/socket.io/socket.io.js'. This request has been blocked; the content must be served over HTTPS.