NGINXはDNSMasqローカルスプーフィングを使用してドメイン名にリダイレクトします。

NGINXはDNSMasqローカルスプーフィングを使用してドメイン名にリダイレクトします。

正当なドメイン名とSSL証明書(GoDaddy.comから提供)を使用してインターネット経由でデータを提供するLinux VPSがあります。私はこのサーバーを」www.myserver.comまた、私のインターネット接続ドメイン名(www.myserver.com)を、そのローカルコンピュータサーバーで実行されている独自のNGINX WebにDNSなりすましに使用したいローカルLinuxボックス(私のLANにあります)もあります。

ドメインをローカル192.xアドレスになりすますために、ローカルコンピュータにDNSMasqを設定し、LAN上の他のコンピュータからローカルアドレスを報告したことを確認しました。

ローカルサーバーdnsmaqなりすましマッピング:

cat /etc/dnsmasq.d/spoof.hosts 
192.168.1.142 www.myserver.com myserver.com

LAN上の別のコンピュータは、なりすましマッピングが機能する必要があることを示します。

dig +short @192.168.1.142 myserver.com
>> 192.168.1.142

私のdnsmasq.conf:

server=127.0.0.1
listen-address=127.0.0.1
listen-address=192.168.1.142
no-dhcp-interface=
no-hosts
addn-hosts=/etc/dnsmasq.d/spoof.hosts

私のなりすましホスト:

192.168.1.142 www.myserver.com myserver.com

ローカルサーバーで、次のようにローカルホストのDNSを検索するようにリゾルバとしてNGINXを設定しました。

http {

    access_log off;
    include mime.types;

    default_type html;

    sendfile        on;

    keepalive_requests 50;
    keepalive_timeout  75s;

    reset_timedout_connection on;

    server_tokens off;

    server {

       listen 8080 default_server;

       resolver 127.0.0.1 valid=10s;

       location / {
           return 302 http://myserver.com/;
       }

    }

    server {

      listen       80;
      server_name *.myserver.com;

      // Various Endpoints

    }
}

問題は、自分のローカルコンピュータ192.168.1.131:8080にアクセスすると、自分のコンピュータにリダイレクトされることです。実際インターネット接続コンピュータ -本物インターネット上のドメイン名。

ローカルなりすましDNSにリダイレクトしたいです。私は何が間違っていましたか?どうすればいいですか?ありがとうございます。

更新:私もこれを試しましたが、幸運ではありませんでした。

http {
    access_log off;
    include mime.types;

    default_type html;

    sendfile        on;

    keepalive_requests 50;
    keepalive_timeout  75s;

    reset_timedout_connection on;

    server_tokens off;

    server {

          listen 80 default_server;
          server_name _;
      resolver 127.0.0.1;
          return 301 https://myserver.com/$request_uri;   

    }

    server {

        listen       443;
    server_name *.myserver.com;

    ssl on;
    ssl_certificate /etc/nginx/ssl/1e17e6d8f94cc4ee.crt;
        ssl_certificate_key /etc/nginx/ssl/example.com.key;

        ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
        ssl_prefer_server_ciphers on;
        ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';

    ...

    }
}

ベストアンサー1

nginxがリダイレクトを送信すると、クライアントに新しいURLにアクセスするように指示します。新しいホスト名がクライアントで解決され、クライアントがなりすましたDNSサーバーを使用しないため、物理ホストに移動します。

おそらく、nginxがバックエンドからコンテンツを取得してクライアントに渡すように、プロキシモードでnginxを使用したいと思うかもしれません。

おすすめ記事