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 専用にする (グローバル アクセスを制限する) には?