Назад | Перейти на главную страницу

AWS IP Forwarding

У меня есть эластичный IP-адрес на AWS, который я хочу перенаправить на общедоступный IP-адрес за пределами AWS.

Есть идеи, как я могу это сделать?

В зависимости от того, что стоит за EIP, вы можете использовать SSH-туннелирование локального порта.

Это предполагает, что у вас есть Linux-сервер, работающий за EIP. Если у вас есть только EIP и за ним нет EC2, я не думаю, что вы сможете это сделать, кроме того, это кажется странной проблемой, которую вы пытаетесь решить, что вы на самом деле пытаетесь сделать?

как упоминал @ceejayoz, iptables может выполнять перенаправление на уровне 3/4, однако, если вы обслуживаете протокол tcp, такой как http, вы можете использовать haproxy или nginx для перенаправления на уровне 7, и это позволит вам более точно детализированный контроль (например, перезапись URL и т. д.)

Я смог использовать nginx для обработки 301 перенаправления на страницу входа в aws.

Перейдите в папку conf nginx (в моем случае это /etc/nginx/sites-available в котором я создаю символическую ссылку на /etc/nginx/sites-enabled для включенных файлов conf).

Затем добавьте путь перенаправления:

server {
  listen 80;
  server_name aws.example.com;
  return 301 https://myaccount.signin.aws.amazon.com/console;
}

Если вы используете nginx, у вас, скорее всего, будут дополнительные серверные блоки (virtualhosts в терминологии apache) для обработки вершины вашей зоны (example.com) или того, как вы ее настроили. Убедитесь, что один из них установлен в качестве сервера по умолчанию.

server {
  listen 80 default_server;
  server_name example.com;
  # rest of config ...
}

В Route 53 добавьте запись A для aws.example.com и установите в качестве значения тот же IP-адрес, который используется для вершины вашей зоны.