Como fazer um ponto de ip para outro ip e porta no AWS

votos
0

Eu preciso ter endereços IP diferentes que apontam para um endereço específico IP ea porta em uma instância EC2, onde tenho executando vários sites em hosts virtuais do Apache Por exemplo: xx.xx.xx.xx -> 107.22.56.213:8080 yy.yy .yy.yy -> 107.22.56.213:8081

É este posible na AWS?

Publicado 13/01/2020 em 23:57
fonte usuário
Em outras línguas...                            


2 respostas

votos
0

Você pode anexar múltiplas interfaces de rede elástica no seu servidor EC2 e anexar cada ENI com IP elástico, você pode configurar seu aoache virtual para ouvir IP específico e porta específica:

Este é um blog muito útil

https://aws.amazon.com/blogs/aws/multiple-ip-addresses-for-ec2-instances-in-a-virtual-private-cloud/ https://vannstudios.com/how-to-set- up-multiple-elástico-ip-por-amazon-ec2-instance

para Proxy o URL abaixo tem um caso semelhante a você:

https://serverfault.com/questions/557478/apache-reverse-proxy-forwarding-different-source-ip-ranges-to-different-destinat

RewriteCond %{REMOTE_ADDR} 54.158.187.139
RewriteRule ^/(.*) http://127.0.0.1:8080/$1 [P]
ProxyPassReverse / http://127.0.0.1:8080 

RewriteCond %{REMOTE_ADDR} 35.153.37.243
RewriteRule ^/(.*) http://127.0.0.1:8081/$1 [P]
ProxyPassReverse / http://127.0.0.1:8081/ 
Respondeu 14/01/2020 em 00:34
fonte usuário

votos
0

Eu sei que não é 100% o que você pediu, mas é fácil de colocar um servidor NGINX na frente do Apache um, e tem melhor desempenho na maioria das vezes. Nginx config (com cache) é tão simples como ...

http{

    proxy_cache_path /my_nginx_cache_folder levels=1:2 keys_zone=my_nginx_cache:2g max_size=2g
                     inactive=30d use_temp_path=off;


    server {

        listen       443 ssl;
        server_name  www.mydomain.com;

        ssl_certificate         /etc/letsencrypt/live/www.mydomain.com/fullchain.pem;
        ssl_certificate_key     /etc/letsencrypt/live/www.mydomain.com/privkey.pem; 

        location / {

                proxy_pass  http://mydomain-on-anotherip.com:8081;

                # the domain to request at the above IP
                proxy_set_header Host      mydomain.com;

                proxy_set_header X-Real-IP $remote_addr;

                # for this path, tell it to use the cache defined above
                proxy_cache             my_nginx_cache;

        } 
    } 
}

Eu fiz isso com muitos dos meus servidores e ele funciona muito bem, e no seu servidor de origem, você pode especificar cabeçalhos de cache, para que o servidor NGINX superior irá armazenar em cache-los durante o tempo que você especificar:

<?php 
    $cache_seconds = 60*60*24;
    header("Expires: ".gmdate('D, d M Y H:i:s \G\M\T', time()+$cache_seconds));
    header("Cache-Control:public, max-age=".$cache_seconds); 
?>

Com uma configuração semelhante, minhas estatísticas mostram páginas carregam em 0,250 segundos, de 0,800 segundos.

Respondeu 14/01/2020 em 06:26
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more