使用Apache将所有请求重定向到节点应用,并将http重定向到https

时间:2019-01-02 20:48:46

标签: node.js apache express https

我有一个Express应用程序与apache2服务器一起运行。我正在尝试设置代理到我的Express应用程序的VirtualHost(仅提供HTTPS服务)

所以我想将http请求重写到我的https虚拟主机,然后将其代理到我的node.js express应用。

Express应用程序在端口3500上运行

但是当我尝试到达test.nw-system.de/api-docs时 我收到404错误

我正在运行Linux Ubuntu 18.04服务器,该服务器在ESXi下作为VM运行。 我有一个与我的Node.js应用程序一起运行的Apache2服务器。 我以前通过以下方式连接到它:https://nw-system.de:3500,但该方法没有问题。但是现在我想摆脱URL中的端口,而改用子域。 Express应用程序仅使用https(用于对用户名/密码进行加密)。

<VirtualHost *:80>
        ServerName test.nw-system.de
        ServerAdmin administrator@n-network.de
       RewriteEngine On
        RewriteCond %{HTTPS}  !=on
        RewriteRule ^/?(.*) https://%{SERVER_NAME}/$1 [R,L]
</VirtualHost>

<VirtualHost *:443>
        ServerName test.nw-system.de
        ProxyPass /* http://localhost:3500/
        ProxyPassReverse /* http://localhost:3500/
</VirtualHost>

当我尝试到达http://test.nw-system.de/api-docs时,我希望重定向到https://test.nw-system.de/api-docs,然后看到express应用程序托管的swagger api文档。 我也希望我的api在以下情况下可以访问:https://test.nw-system.de/api/v1

例如: https://test.nw-system.de/api/v1/items wich返回一个json响应

很高兴,一月

0 个答案:

没有答案