У меня стандартная конфигурация Apache. В domain.com
Apache обслуживает статические файлы HTML (без серверной технологии)
В domain.com:2368
, существует экземпляр Ghost (платформа для ведения блогов), на котором работает NodeJS.
Я хочу добиться следующего эффекта:
Люди должны заходить в domain.com/blog
и он должен перенаправлять (контент, а не URL-адрес) на экземпляр Ghost на определенном порту.
Пока мне удалось сделать blog.domain.com
указать на Призрака, но я хочу /blog
работать тоже.
Вот мой основной VH:
<VirtualHost *:80>
ServerAdmin admin@domain.com
DocumentRoot /srv/www/htdocs/domain.com/
ServerName domain.com
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /srv/www/htdocs/domain.com/>
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 ${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>
Вот дополнительный VH, который перенаправляет порт на blog.domain.com
<VirtualHost *:80>
ServerName blog.domain.com
ProxyPass / http://127.0.0.1:2368/
ProxyPassReverse / http://127.0.0.1:2368/
ProxyPreserveHost On
</VirtualHost>
Ghost добавил поддержку этого в версии 0.4 - https://github.com/TryGhost/Ghost/wiki/Release-Notes:-0.4.0