0

localhost:3001 で実行されている node.js アプリにプロキシする ngnix を実行する簡単な例があります。今、いくつかの最適化を追加したいのですが、問題は、ngnix 構成ファイルの仕組みを完全に理解しているかどうかわからないことです。

私がやりたいことは、ngnix を介してプロキシ転送を介して CDN から index.html、about.html、および main.js を提供することです。これら2つのファイル(および最終的には画像とcssディレクトリ全体)だけに書き換えのようなものを追加する必要があると思います

ユーザーが mydomain.com にアクセスすると、ngnix が起動し、cdn.mydomain.com/index.html から index.html を配信します。

これが私が今持っているものです:

===================

proxy_redirect              off;                                                                                                                                                    
proxy_set_header            Host $host;                                                                                                                                             
proxy_set_header            X-Real-IP $remote_addr;                                                                                                                                 
proxy_set_header            X-Forwarded-For $proxy_add_x_forwarded_for;                                                                                                             

client_max_body_size        10m;                                                                                                                                                    
client_body_buffer_size     128k;                                                                                                                                                   
proxy_connect_timeout       600;                                                                                                                                                    
proxy_send_timeout          600;                                                                                                                                                    
proxy_read_timeout          600;                                                                                                                                                    
proxy_buffer_size           4k;                                                                                                                                                     
proxy_buffers               4 32k;                                                                                                                                                  
proxy_busy_buffers_size     64k;                                                                                                                                                    
proxy_temp_file_write_size  64k;                                                                                                                                                    
send_timeout                600;                                                                                                                                                    
proxy_buffering             off;                                                                                                                                                                                                                                                                                                                                        
####                                                                                                                                                                                
# the IP(s) on which your node server is running i choose the port 3001                                                                                                             
upstream app_yourdomian {                                                                                                                                                               
server 127.0.0.1:3001;                                                                                                                                                          
}                                                                                                                                                                                                                                                                                                                                                                       
# the nginx server instance                                                                                                                                                         
server {                                                                                                                                                                                
listen 0.0.0.0:80;                                                                                                                                                                  
server_name ec2-75-101-203-200.compute-1.amazonaws.com ec2-75-101-203-200.compute-1.amazonaws;                                                                                      
access_log /var/log/nginx/yourdomain.log;                                                                                                                                                                                                                                                                                                                               
# pass the request to the node.js server with the correct headers and much more can be added, see nginx config options                                                              
location / {                                                                                                                                                                          
proxy_set_header X-Real-IP $remote_addr;                                                                                                                                            
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                                                                                                                        
proxy_set_header Host $http_host;                                                                                                                                                   
proxy_set_header X-NginX-Proxy true;                                                                                                                                                                                                                                                                                                                                    
proxy_pass http://localhost:3001;                                                                                                                                                   
proxy_redirect off;                                                                                                                                                               

}


}

============================

4

1 に答える 1

0

本当に index、about、および main.js をプロキシする (リダイレクトしない) 必要がある場合は、上記のそれぞれに対してさらに 3 つの単純な場所を用意するようなものです。

location = /index.html {proxy_pass ... }

http://wiki.nginx.org/HttpCoreModule#locationもご覧ください。

正規表現のない場所については、最も具体的な一致が使用されます。

メーリング リストhttp://mailman.nginx.org/mailman/listinfo/nginxでお気軽に質問してください。

于 2011-09-12T08:31:59.713 に答える