0

我有一个运行 ngnix 的简单示例,它代理我在 localhost:3001 上运行的 node.js 应用程序。现在我想添加一些优化,问题是我不确定我是否完全理解 ngnix 配置文件的工作方式。

我想要做的是通过 ngnix 的代理转发从 CDN 提供 index.html、about.html 和 main.js。我想我需要为这两个文件(以及最终的整个图像和 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,那么就像为上述每个位置设置三个更简单的位置

位置 = /index.html { proxy_pass ... }

您可能还想看看http://wiki.nginx.org/HttpCoreModule#location

对于没有正则表达式的位置,使用最具体的匹配。

随时在邮件列表中询问更多信息http://mailman.nginx.org/mailman/listinfo/nginx

于 2011-09-12T08:31:59.713 回答