nginx в cdn или node.js - PullRequest
       36

nginx в cdn или node.js

0 голосов
/ 08 сентября 2011

У меня есть простой пример запуска ngnix, который проксирует мое приложение node.js, работающее на localhost: 3001.Теперь я хочу добавить некоторые оптимизации, и проблема в том, что я не совсем понимаю, как работают файлы конфигурации ngnix.

Что я хочу сделать, так это обслуживать index.html, about.html и main.js из CDN через прокси-сервер пересылки через ngnix.Я полагаю, мне нужно добавить что-то вроде переписывания только для этих двух файлов (и, в конечном итоге, всего каталога images и css)

Таким образом, пользователь переходит на mydomain.com .. ngnix запускает и доставляет index.html из cdn.mydomain.com / 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;                                                                                                                                                               

}


}

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

1 Ответ

0 голосов
/ 12 сентября 2011

Если вам действительно нужен прокси-сервер (не перенаправляющий на) index, about и main.js, то это будет что-то вроде наличия трех более простых расположений для каждого из указанных выше

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

Вы также можете взглянуть на http://wiki.nginx.org/HttpCoreModule#location

Для мест без регулярного выражения используется наиболее конкретное соответствие.

Не стесняйтесьспросите больше в списке рассылки http://mailman.nginx.org/mailman/listinfo/nginx

...