首页 > 解决方案 > 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但这似乎没有奏效。

我目前的配置是

  1. 列表项在/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
  1. 我的.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>
    
  2. 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 的任何配置。

预先感谢您的任何帮助

标签: apacheamazon-web-servicesubuntuserveraws-load-balancer

解决方案


请参阅ModProxy的说明。您需要一个反向代理,这意味着您需要“ProxyPass”指令,而不是“ReWriteRule”。


推荐阅读