我有一个使用域示例的服务器。我正在使用Apache运行此Web服务器。我还安装了DOT Net Core,并将DOT Net Core应用程序发布到/var/www/app Location。
我试图使用example.com/api
访问此应用程序这是我在000-default.conf
中尝试的<VirtualHost *:80>
ServerAdmin root@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
the below is what I hvae added for the application
<VirtualHost *:80>
ServerName example.com/api
ProxyPreserveHost On
<Proxy *>
Order allow, deny
Allow from all
</Proxy>
ProxyPass / http://localhost:5000/
ProxyPassReverse / http://localhost:5000/
</VirtualHost>
我也尝试了以下配置。
<VirtualHost *:80>
ServerName example.com/api
redirect / http://localhost:5000/
</VirtualHost>
有人可以帮助我找到我在做什么错以及如何正确实现这一目标。
这是通过使用下面命令启用代理和prodxy_http来解决的。
a2enmod proxy
a2enmod proxy_http
还以下虚拟主机内配置了代理。
<VirtualHost *:80>
ServerAdmin root@example.com
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/html
#Below 3 lines worked
ProxyPreserveHost On
Proxypass "/api/" "http://localhost:5000/"
ProxyPassReverse "/api/" "http://localhost:5000/"
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>