
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または類似。