하위 도메인 및 포트에서만 제어판에 액세스할 수 있도록 하려면 어떻게 해야 합니까?

하위 도메인 및 포트에서만 제어판에 액세스할 수 있도록 하려면 어떻게 해야 합니까?

example.com현재 내 구성에서는 웹사이트에 연결하기 위한 도메인을 설정했습니다 . 그런 다음 control.example.com2054 포트를 사용하여 제어판에 연결하십시오. 따라서 제어판에 액세스하려면 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를 사용하는 방법에 대한 기본 개요를 찾을 수 있습니다.여기.

즉, 다음과 유사한 두 개의 서버 블록을 설정하려고 합니다.

# 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;
    }
}

이 예에서는 설정이 다루기 쉽기 때문에 두 개의 서로 다른 포트가 사용 중이라고 가정합니다. 서비스에 공개적으로 액세스하려는 포트는 전달되어야 하며, 내부(실제) 서비스 포트는 전달되어서는 안 됩니다. IP proxy_pass는 (분명히) 액세스하려는 서비스를 실행하는 PC의 IP여야 합니다.

위의 솔루션이 귀하에게 적합하지 않은 경우 다음을 사용하여 조치를 취할 수 있습니다.iptables또는 유사합니다.

관련 정보