0

nginxをWebサーバーとしてubuntu x64サーバーを使用しています。

私の会社では、イントラネット (ローカル) DNS サーバーを構成して、domain1.comを入力すると、定義された LAN IP アドレスに直接入るようにしました。

同じサーバーにある domain2.com へのグローバル アクセスが必要です。domain2.comのグローバル アクセスを開くと、次の問題が発生しました。

ご存じのように、domain2.com (当社のサーバー) の IP アドレスは誰でも検出できます。

問題は、サーバーのグローバル IP アドレスを使用して直接アクセスすると、サーバーが自動的にdomain1.comを開き、グローバル アクセスを制限する必要があることです。domain1.comの nginx構成は次のとおりです。

server
{
set $host_path "/var/www/domain1";

server_name domain1.com;

root $host_path;
set $yii_bootstrap "index.php";

client_max_body_size 2000M;
client_body_buffer_size 1024k;

listen       80;

    charset utf-8;
    index index.php index.html;

access_log  /var/access_log;
error_log /var/error_log;

location ~ /(protected|framework|nbproject) {
        deny all;
        access_log off;
        log_not_found off;
    }

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_split_path_info  ^(.+\.php)(.*)$;
        #let yii catch the calls to unexising PHP files
        set $fsn /$yii_bootstrap;
        if (-f $document_root$fastcgi_script_name){
            set $fsn $fastcgi_script_name;
        }
        fastcgi_pass unix:/var/run/php5-fpm.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny  all;
    }


}

domain1.com を LAN 専用にする (グローバル アクセスを制限する) には?

4

1 に答える 1

0

nginx がホスト名が欠落しているリクエストを処理しており、どの仮想サーバーもディレクティブにdefault_serverパラメーターを持っていない場合、見つかった最初の仮想サ​​ーバーを使用します。listenあなたの場合、それは domain1.com です。すべきことは、 domain2.comlistenのディレクティブを次のように変更することです。

listen 80 default_server;

このようにして、誰かがホスト名なしであなたの IP アドレスを使用すると、domain2.com コンテンツが提供されます。

ホスト名を厳密に要求し、それを指定していないリクエストに対して 404 を返したい場合は、新しいサーバー句を作成できます。

server {
    listen 80 default_server;
    return 404;
}

別の可能な解決策もあります。私の理解が正しければ、サーバーには内部と外部の 2 つの IP があります。これが当てはまる場合は、 domain1.com 構成listenディレクティブを内部 IP アドレスの場所に変更できます。これにより、domain1.com は LAN からのみ到達可能になります。listen 10.1.0.1:80;10.1.0.1

于 2013-05-06T11:31:33.430 に答える