J'ai fait un site afin de faire des listes de courses partagé (il est pas au top j'ai fait ce projet pour étudier le fonctionnement des technos web).
j'utilise Flask et WAMP j'utilise Croosbar.io pour démarrer les services.
J'ai configuré un reverse proxy afin de rediriger les requêtes du port 80 sur le port 5000.
Puis j'utilise daemonstools afin de lancer un script en user, qui me set un virtualenv et lance Crossbar.io.
Je ne sais pas si j'ai utilisé la bonne méthode pour faire cette mise en place.
Le html du site marche bien mais tout ce qui est websocket ne marche pas. Dans la console javascript de firefox j'obtiens toujours le message "Firefox ne peut établir de connexion avec le serveur à l'adresse ws://courses.hory.me/ws".
Ci-dessous ma config Crossbar:
{
"controller": {
},
"workers": [
{
"type": "router",
"options": {
"pythonpath": [".."]
},
"realms": [
{
"name": "realm1",
"roles": [
{
"name": "anonymous",
"permissions": [
{
"uri": "*",
"publish": true,
"subscribe": true,
"call": true,
"register": true
}
]
}
]
}
],
"components": [
{
"type": "class",
"classname": "server.wamp",
"realm": "realm1"
}
],
"transports": [
{
"type": "web",
"endpoint": {
"type": "tcp",
"port": 5000
},
"paths": {
"/": {
"type": "wsgi",
"module": "run",
"object": "app"
},
"ws": {
"type": "websocket",
"url": "ws://12.0.0.1:5000/ws"
}
}
}
]
}
]
}
Configuration apache2:
<VirtualHost *:80>
ServerAdmin webmaster@localhost
ServerName hory.me
ServerAlias courses.hory.me
ProxyPreserveHost On
ProxyRequests off
ProxyPass / ws://127.0.0.1:5000/
ProxyPassReverse / ws://127.0.0.1:5000/
ProxyPass / http://127.0.0.1:5000/
ProxyPassReverse / http://127.0.0.1:5000/
ErrorLog ${APACHE_LOG_DIR}/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
Script pour le virtualenv:
cd /home/course/courses
source bin/activate
crossbar start --cbdir /home/course/courses/.crossbar \
--logdir /home/course/courses/.crossbar/log