コントロール パネルをサブドメインとポートからのみアクセス可能にするにはどうすればよいですか?

コントロール パネルをサブドメインとポートからのみアクセス可能にするにはどうすればよいですか?

example.com現在、私の構成では、Web サイトに接続するためのドメインを設定しています。次にcontrol.example.com、2054 ポートを使用してコントロール パネルに接続します。したがって、コントロール パネルにアクセスするには、次のようになります。ただし、何らかの理由で、サブドメインなしhttps://control.example.com:2054で にアクセスしてコントロール パネルにアクセスすることもできます。https://example.com:2054

これを防ぐ方法はあるのでしょうか?https://control.example.com:2054/防止しながらhttps://example.com:2054/アクセスできないのですか?

答え1

これを防ぐ方法はあるのでしょうか?https://control.example.com:2054/防止しながらhttps://example.com:2054/アクセスできないのですか?

はい。おそらく最も簡単な方法は、Nginxをリバースプロキシこの用途でのNginxの基本的な使用法については、ここ

つまり、次のような 2 つのサーバー ブロックを設定することになります。

# Block access to example.com:2054, assuming Nginx is servicing that port.
#
server {
    listen       2054;
    server_name  example.com;

    # 404 - Not Found is returned, but 403 - Forbidden is another option
    location / {
        return 404;
    }
}

# another (unblocked) virtual host on the same port e.g. control.example.com:2054
#
server {
    listen       2054;
    server_name  control.example.com;

    # Proxy our web data
    location / {
    proxy_pass      http://10.0.0.10:3005;
    }
}

この例では、この設定は扱いやすいため、2 つの異なるポートが使用されていると想定しています。サービスにパブリックにアクセスするためのポートは転送する必要がありますが、内部 (実際の) サービス ポートは転送しないでください。IP はproxy_pass(当然ですが) アクセスするサービスを実行している PC の IP である必要があります。

上記の解決策があなたに合わない場合は、次の方法で対処できるかもしれません。iptablesまたは類似。

関連情報