Ajouter un serveur WSGI devant PaSSHport¶
PaSSHport est basé sur Flask, le serveur embarqué ne peut gérer qu'une seule connexion à la fois. Il faut donc éviter de l'utiliser tel-quel en environnement de production…
Afin de gérer plus de requêtes, on duplique le nombre de processus PaSSHport pour chaque connexion. Apache permet de faire ça avec WSGI… Et c'est finalement assez simple à activer.
Configuration¶
Créez un nouveau vhost apache avec ce contenu :
Listen 5000
<VirtualHost *:5000>
ServerName passhport
SSLEngine on
SSLCertificateFile /home/passhport/certs/cert.pem
SSLCertificatekeyFile /home/passhport/certs/key.pem
WSGIDaemonProcess passhport user=passhport group=passhport threads=5
WSGIScriptAlias / /home/passhport/passhport/tools/passhportd.wsgi
<Directory /home/passhport/ >
WSGIProcessGroup passhport
WSGIApplicationGroup %{GLOBAL}
# passhportd don't provides authentication, please filter by IP
Require ip 127.0.0.1/8 ::1/128
</Directory>
</VirtualHost>
Activez¶
Tout d'abord, tuez le processus passhportd existant
pkill passhportd
Désactivez le site par défaut, et activez celui-ci:
a2dissite 000-default
a2enmod ssl
a2ensite passhport.conf
systemctl restart apache2
et voilà.