node.js - 如何在不为每个页面定义新规则的情况下使 ProxyPass 适用于所有页面
问题描述
我对设置 apache 配置非常陌生。这些文档对我来说没有多大意义,我有一个节点应用程序在一个用作网站的端口上运行,但我希望能够通过我的域连接到它。我一直在环顾四周,并认为我需要使用 ProxyPass 将流量从端口 443 (https) 重定向到应用程序正在运行的端口(我已经将 apache 用于其他东西,所以我不想切换)。它通常可以工作,但是有没有办法只制作一个处理所有页面的 ProxyPass 规则(例如,我去https://example.com/
它将使用https://localhost:4450/
,如果我去https://example.com/example
它将使用https://localhost:4450/example
和所有其他页面)。
我认为我需要一个 RewriteRule,但我真的不明白如何/
使用它来获取页面(无论是第一个还是没有)。
解决方案
您只需将 apache 作为反向代理运行,这是一个示例配置:
<VirtualHost *:443>
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/file.pem
ProxyPreserveHost On
ServerName localhost
ProxyPass / http://0.0.0.0:4450/
ProxyPassReverse / http://0.0.0.0:4450/
</VirtualHost>
你必须启用这样的代理模块
a2enmod proxy
a2enmod proxy_http
推荐阅读
- apache - Jenkins 用户无法将文件复制到 Apache /var/www 文件夹 - 所有权限都适用
- protocols - 重塑 PPP/SLIP 协议以在 8051 微控制器上进行无线操作
- amadeus - 是否有与 Amadeus 自助旅行解析 API 兼容的行程示例?
- java - Java 可以使用导入包中的受保护变量吗?
- php - 使用ajax提交表单时图像不刷新
- java - 在 java 语言中,如何将纳秒值(例如 1568694302232954486 和 1568703521360049938)转换为 Java Date 对象?
- javascript - javascript - 具有条件更改的嵌套字段的映射
- node.js - 更好的架构在 MongoDB 中存储多种类型的用户
- reactjs - 在 React-Select 中获取选定的值
- java - 如何在主线程下拦截 Runnable 创建和执行以使用 AspectJ 填充上下文流数据