我有一个带有一个IP的VPS。我正在使用Apache来服务cloud.mysite.com
,我有一个NodeJS应用程序正在侦听端口3000.
我正在尝试以某种方式配置我的VPS,以便在我访问mysite.com
时获取我的NodeJS应用程序。
相反,当我访问mysite.com
时,我会转发到cloud.mysite.com
。
我的.conf
个文件位于下方。
mysite.com.conf
<VirtualHost mysite.com:80>
ServerName mysite.com
ProxyPreserveHost On
ProxyRequests off
ProxyPass / http://localhost:3000/
ProxyPassReverse / http://localhost:3000/
</VirtualHost>
cloud.mysite.com
<VirtualHost cloud.mysite.com:80>
ServerName cloud.mysite.com
RewriteEngine on
RewriteCond %{SERVER_NAME} =cloud.mysite.com
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,QSA,R=permanent]
</VirtualHost>
<VirtualHost cloud.mysite.com:443>
# Basics
ServerName www.cloud.mysite.com
ServerAlias www.cloud.mysite.com
# Next line puts ownCloud at the domain root instead of a /owncloud/ subdirectory (e.g. example.com vs. example.com/owncloud/)
Alias /owncloud "/var/www/owncloud/"
DocumentRoot /var/www/owncloud
# SSTL STUFF GOES HERE
# ownCloud
<Directory /var/www/owncloud/>
Options +FollowSymlinks
AllowOverride All
<IfModule mod_dav.c>
Dav off
</IfModule>
SetEnv HOME /var/www/owncloud
SetEnv HTTP_HOME /var/www/owncloud
</Directory>
</VirtualHost>
SSLStaplingCache shmcb:/var/run/ocsp(128000)
编辑:我通过清除缓存解决了这个问题。
答案 0 :(得分:0)
如果它在同一主机上运行并侦听端口3000,它应该代理对您的Node应用程序的请求,如果不是,则应该失败 - 但不是代理对其他虚拟主机的请求。
确保重新启动Apache或在进行这些更改后重新加载配置,并确保新配置文件位于应用的位置并启用。