J'ai essayé de faire ressortir DLNA lors de l'utilisation du support audio à la maison à l'extérieur. L'environnement est limité, mais j'ai réussi à le faire, donc un mémorandum.
Terminal | endroit | Exemple de système d'exploitation | rôle | host name | Global IP | VPN IP | Private IP |
---|---|---|---|---|---|---|---|
Server (1) | domicile | Cent OS 7 (Raspberry Pi 3) |
DLNA Server | 192.168.5.2 | 192.168.1.2 | ||
Server (2) | de location | Cent OS 7 (de location) |
HTTP Gateway | dlna.mydomain.org | available | 192.168.5.3 | |
Client | Extérieur | android / iPhone | Player |
Définissez l'association entre l'adresse IP globale du serveur (2) et le nom d'hôte. (Registraire de domaine, site de service DDNS, etc.)
Installez ReadyMedia sur votre serveur local et créez un serveur DLNA. (La méthode de construction est omise car il s'agit de 2 ^ 10 décoction)
Puisqu'il s'agit d'un proxy inverse, le but est de permettre une communication mutuelle entre les serveurs. Non requis si les deux serveurs sont sur le même réseau. En outre, la construction VPN est possible autre que Tinc VPN, elle est donc omise. (Je veux dire, ça devient plus long quand je l'écris ...)
La partie principale de cet article. Définissez le proxy inverse sur l'hôte virtuel. DLNA communique avec le serveur en XML, Parce que le chemin d'accès complet au contenu inclut l'adresse IP est retourné Vous ne pouvez pas atteindre le média via le proxy inverse. Par conséquent, remplacez l'adresse IP décrite dans XML par l'adresse d'hôte. Puisque la communication entre les serveurs se fait via VPN, l'IP source de remplacement est l'IP via VPN.
article | valeur |
---|---|
nom d'hôte | dlna.mydomain.org |
Destination de transfert | 192.168.5.2:8200 |
apache:/etc/httpd/conf.d/httpd-vhosts.conf
<VirtualHost *:80>
ServerName dlna.mydomain.org
AddOutputFilterByType SUBSTITUTE text/xml
Substitute "s|192.168.5.2:8200|dlna.mydomain.org|i"
ProxyRequests Off
ProxyPass / http://192.168.5.2:8200/
ProxyPassReverse / http://192.168.5.2:8200/
</VirtualHost>
terminal
systemctl restart httpd.service
Écoutez en utilisant la version smartphone de foobar2000.
article | valeur |
---|---|
Client | foober2000 (Google Play,AppStore) |
URL | http://dlna.mydomain.org/rootDesc.xml |
-Mod_substitute - Serveur HTTP Apache version 2.4 https://httpd.apache.org/docs/2.4/mod/mod_substitute.html -VirtualHost pour l'accès proxy inverse avec un IP / nom d'hôte complètement différent https://qiita.com/tkykmw/items/d7f07f26b89f923d57d5 -Réécriture de texte par Apache mod_substitute + mod_filter --doodle-on-web https://www.doodle-office.work/entry/mod_substitute_mod_filter · Réécriture de mod --Apache mod_substitute sur requête HTTP à l'hôte proxy inverse - Problème pour les débutants https://tutorialmore.com/questions-757269.htm