apache - AWS:需要将端口 443 的负载均衡器重定向到我的 Ubuntu 服务器上的 127.0.0.1:3004 实例
问题描述
我有安全的域https://api.mydomain.com
,我已经指出my-loadbalancer.com
. 此负载均衡器的目标组有一次节点 API 正在运行的实例http://127.0.0.1:3004
。我为此苦苦挣扎的只是从中访问我的API,https://api.mydomain.com
但这似乎没有奏效。
我目前的配置是
列表项在
/etc/apache2/apache2.conf
<Directory /var/www/> Options Indexes FollowSymLinks AllowOverride All Require all granted </Directory>
2.启用所有必要的模块
$ sudo a2enmod proxy
$ sudo a2enmod proxy_http
$ sudo a2enmod proxy_balancer
$ sudo a2enmod lbmethod_byrequests
$ sudo a2enmod rewrite
$ sudo service apache2 restart
我的
.htaccess
文件在根文件夹<IfModule mod_rewrite.c> RewriteEngine On Options +FollowSymLinks RewriteCond %{HTTP_HOST} ^my-loadbalancer.com$ RewriteRule (.*)$ http://127.0.0.1:3004/\$1 [P] </IfModule>
apache.conf 文件在
/etc/apache2/sites-enabled
Listen 80 <VirtualHost *:80> ProxyPreserveHost On ProxyRequests Off ServerName my-loadbalancer.com ServerAlias my-loadbalancer.com ProxyPass / http://127.0.0.1:3004/ ProxyPassReverse / 127.0.0.1:3004/ </VirtualHost>
我不知道我是否缺少 https 的任何配置。
预先感谢您的任何帮助
解决方案
请参阅ModProxy的说明。您需要一个反向代理,这意味着您需要“ProxyPass”指令,而不是“ReWriteRule”。
推荐阅读
- javascript - 用 momentjs 显示当前时间
- tcl - 我可以理解 Tcl 中的“global var”,但“global $var”是什么意思?
- python - 在python 3中为记忆游戏创造高分
- c# - 第一次没有为命令参数正确传递所选项目
- arrays - Angular 7 和 Objects 搜索如何找到严格的值
- shell - jq:错误:test1/0 未定义在
,第 1 行 - java - Android - Apache Commons DbUtils - QueryRunner 异常
- dart - Flutter Navigator.pushNamed() 自定义路由动画
- javascript - Openseadragon 简单图像
- api - 从 Twilio 获取(错误:30007)运营商违规的错误