nginxのリバースプロキシサーバーを設定します

nginxの環境を構築します

ソースパッケージ解凍nginxのをダウンロード

既存のアーカイブを通じ

ここではまた、yumを介してオンラインダウンロードすることができます

wget http://nginx.org/download/nginx-1.13.7.tar.gz

tar -zxf nginx-1.14.2.tar.gz -C [目标路径]

nginxのをインストールします。

ソースファイルは、袋の後に解凍されています

cd nginx-1.14.2/

コマンドを実行する前に、一つのことを行い、依存関係を解決し、それ以外のnginxをインストールしていません

キーのインストールの依存関係

yum -y install gcc zlib zlib-devel pcre-devel openssl openssl-devel

インストールnginxのを開始します

実行 ./configure


以下は、成功を表し、

コンパイル make

インストール make install

プロファイルを設定します

vim conf/nginx.conf

コマンドを起動します

nginxの起動コマンドの/usr/local/nginx/sbin/ディレクトリ

あなたはにコピーすることができ/usr/bin/、高速スタート

./nginx スタート

スタートアップコンフィギュレーションファイルを指定します。

nginx -c /usr/local/nginx/conf/nginx.conf

./nginx -s stop 近いです

./nginx -s reload 再起動

iptablesがアクセス不能ポート80を開く必要があり、iptables -I INPUT -p tcp --dport 80 -j ACCEPT

ポート転送を設定するのは簡単

プロフィールを入力してください

vim conf/nginx.conf

ポートを転送する新しいアプリケーション・サーバーを作成します。

server {
    # 监听8090端口
    listen  8090;
    location / {
        # 访问8090端口转发到80端口的应用服务器上
        proxy_pass  http://127.0.0.1:80;
    }
}

再起動nginxの nginx -s reload

ポート転送を設定するには、ロード・バランシング・プールを構成することにより

プロフィールを入力してください

vim conf/nginx.conf

# 配置负载均衡池
upstream demo_pool{
    server 127.0.0.1:80;
}
server {
        listen 1234; #拦截端口
        server_name  demo.com; #域名配置
        # access_log logs/bolg.log;
        # error_log logs/bolg.error;
        #将所有请求转发给dome_pool池的应用处理
        location / {
            proxy_set_header Host $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_pass http://demo_pool; #如果是ssl更改成https
    }
}

アクセス http://192.168.80.11:1234

SERVER_NAMEマッチ

server {
    listen 80;
    server_name www;
    location / {
        default_type text/html;
        content_by_lua '
            ngx.say("<p>www</p>")
        ';
    }
}
server {
    listen  80;
    server_name www.r0cky.com;
    location / {
        default_type text/html;
        content_by_lua '
            ngx.say("<p>www.r0cky.com</p>")
        ';        
    }
}
server {
    listen 80;
    server_name www.r0cky.*;
    location / {
        default_type text/html;
        content_by_lua '
            ngx.say("<p>www.r0cky.*</p>")
        ';
 
    }
}
server {
    listen 80;
    server_name ~\w+.com;
    location / {
        default_type text/html;
        content_by_lua '
            ngx.say("<p>~\w+.com</p>")
        ';        
    }
}
server {
    listen 80;
    server_name ~.*r0cky.com;
    location / {
        default_type text/html;
        content_by_lua '
            ngx.say("<p>~.*r0cky.com</p>")
        ';
    }
}

異なるドメイン名は、対応するアプリケーションサーバに転送するために、特定のサーバにブロックをマッチング、リクエストヘッダHOSTフィールドを通過します。

ホスト

192.168.80.11   www.r0cky.com
192.168.80.11   www.r0cky.org
192.168.80.11   blog.r0cky.com
192.168.80.11   r0cky.com

アクセスwww.r0cky.com


アクセスwww.r0cky.org


アクセスblog.r0cky.com


マッチング順

次のようにホストの優先順位を持つサーバー名のマッチは次のとおりです。

  1. 完全に一致
  2. など、ワイルドカードの前に.test.com
  3. このようwww.test後。*
  4. 〜^ .www.test.com $として定期的なマッチング、

彼らは一致しない場合

  1. 好適な設定項目は、デフォルト値を持っているか、DEFAULT_SERVERを聞いた後、
  2. サーバーを見つけるための最初のブロックマッチングは、ポートを聞きます

おすすめ

転載: www.cnblogs.com/r0ckysec/p/11440835.html