Tout d'abord, c'est mon premier essai avec Apache, alors pardonnez mon manque d'expérience :)
Ma configuration de base est la suivante : mysub.domain.com
est envoyé à mon IP statique via une entrée CNAME dans le gestionnaire DNS de godaddy. Il atteint mon serveur Ubuntu 10 LTS fonctionnant avec Apache2.
Je dispose d'une entrée d'hôte virtuel qui dirige cette demande vers le serveur approprié. /var/www/mysub
dossier. Je n'ai pas de contenu dans ce dossier, mais j'ai ajouté une ligne à la page "Ça marche" pour savoir si j'y suis arrivé avec succès. J'ai également un Mac Mini qui fait tourner un serveur wiki sur le même réseau local que le serveur Ubuntu.
J'aimerais mysub.domain.com
de toucher mon serveur Mini au lieu du serveur /var/www/mysub
dossier.
Après de nombreuses lectures sur ce site et d'autres, j'ai réussi à le faire... en quelque sorte.
J'ai ce qui suit dans mon /var/www/mysub/.htacess
que j'ai trouvé dans une autre question de SF (j'ai oublié de copier le lien).
RewriteEngine on
RewriteCond %{HTTP_HOST} ^mysub.domain.com/*
RewriteRule .* http://192.168.x.x/ [P,L]
Cela fonctionne dans la mesure où il y a redirection mysub.domain.com
sur la page d'accueil du Mini. Mais bien sûr, il en va de même pour chaque clic de lien ultérieur sur la page Mini. Je crois comprendre pourquoi (tout ce qui commence par mysub.domain.com
est dirigé vers ce qui est essentiellement la page d'accueil du serveur wiki, et comme les liens suivants sur le serveur wiki incluent également le mot mysub.domain.com
il se retrouve toujours au même endroit)
Je ne sais pas ce qu'il faut faire de différent. Pour être tout à fait honnête, je ne comprends pas la syntaxe de ces lignes Rewrite.
J'ai vu d'innombrables exemples d'entrées de configuration et j'en ai essayé quelques-unes, mais sans vraiment comprendre la syntaxe, c'est une sorte de tir dans le noir.
Le présent était un billet utile, et après avoir lu este J'ai essayé d'ajouter ceci à mon /apache2/httpd.conf
archivo
<Location />
ProxyPass http://192.168.x.x
ProxyPassReverse http://192.168.x.x
</Location>
Pas de chance.
Il est clair que j'ai des choses à apprendre, mais il me semble que ce que je veux faire est probablement très simple. Que me manque-t-il ?
MODIFIER SELON LES COMMENTAIRES
Mon /etc/apache2/httpd.conf
archivo
ServerName localhost
<VirtualHost *:80>
ServerName domain.com
ServerAlias www.domain.com
DocumentRoot /var/www/domain
</VirtualHost>
<VirtualHost *:80>
ServerName mysub.domain.com
DocumentRoot /var/www/mysub
<Location />
ProxyPass http://192.168.x.x/
ProxyPassReverse http://192.168.x.x/
</Location>
</VirtualHost>
... et mon sites-available/mysub
fichier...
<VirtualHost *:80>
ServerAdmin me@domain.com
ServerName mysub.domain.com
DocumentRoot /var/www/mysub
#ProxyRequests Off
<Location />
ProxyPass http://192.168.1.50/
ProxyPassReverse http://192.168.1.50/
</Location>
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/mysub>
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</Directory>
ScriptAlias /cgi-bin/ /usr/lib/cgi-bin/
<Directory "/usr/lib/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
ErrorLog /var/log/www/mysub/error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog /var/log/apache2/access.log combined
Alias /doc/ "/usr/share/doc/"
<Directory "/usr/share/doc/">
Options Indexes MultiViews FollowSymLinks
AllowOverride None
Order deny,allow
Deny from all
Allow from 127.0.0.0/255.0.0.0 ::1/128
</Directory>
Sortie de apache2ctl -S
VirtualHost configuration:
wildcard NameVirtualHosts and _default_ servers:
*:80 is a NameVirtualHost
default server 66-152-109-110.tvc-ip.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost 66-152-109-110.tvc-ip.com (/etc/apache2/sites-enabled/000-default:1)
port 80 namevhost domain.com (/etc/apache2/sites-enabled/domain:1)
port 80 namevhost mysub.domain.com (/etc/apache2/sites-enabled/mysub:1)
Syntax OK