2016-11-23 1 views
0

우리는 NGINX를 리버스 프록시로 사용하여 웹 사이트에 통합합니다. 모든 요청은 URL을 기반으로 한 웹 사이트 또는 다른 웹 사이트로 전달됩니다. 우리는 추가적인 '홉 (hops)'으로 인해 약간의 성능 손실이 예상되지만 실제로 성능이 좋지 않습니다. css, js 및 이미지를로드하는 데 리소스 당 1-2 초가 걸립니다. NGINX 서버는 1 % CPU로드 인 <입니다. (~ 100 밀리 초) 우리가 직접 원래의 웹 사이트에 가면 Performance via NGINX as reverse proxyNGINX as reverse 웹 사이트 속도를 많이 늦추는 프록시

이, 그것은 훨씬 빠릅니다 : 나는 방화범이 끌려와 조사하면

나는 거대한 블록을 볼 수 있고 인터넷 패널의 대기 시간 enter image description here

이 'throtteling'의 원인이 될 수있는 것은 무엇입니까?

이 내 사이트 설정입니다 :

server { 
     listen 80; 
     server_name *.mysite.nl; 
     return 301 http://www.mysite.nl$request_uri; 
} 

server { 
    listen 80; 
    root /var/www/; 
    index index.php index.html index.htm index.asp index.aspx; 
    server_name www.mysite.nl; 
    return 301 https://$server_name$request_uri; 
    include includes/mysite.nl-redirects.conf; 

    location/{ 
    return 301 https://$server_name$request_uri; 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    proxy_set_header Host $host; 
    proxy_pass http://100.6.185.172:80; 
    proxy_set_header  X-Forwarded-Proto "http"; 
    } 
    location /account { 

    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    proxy_set_header Host $host; 
    proxy_pass http://platform.mysite.nl:80; 
    } 
    location /contentowner { 
    proxy_set_header X-Real-IP $remote_addr; 
    proxy_set_header X-Forwarded-For $remote_addr; 
    proxy_set_header Host $host; 
    proxy_pass http://platform.mysite.nl:80; 
    } 
} 

server { 
     listen 443; 
     root /var/www/; 
     index index.php index.html index.htm index.asp index.aspx; 
     server_name www.mysite.nl; 
     ssl_certificate   /etc/ssl/private/mysite.nl/cert.crt; 
     ssl_certificate_key  /etc/ssl/private/mysite.nl/cert.key; 
     ssl_client_certificate /etc/ssl/private/mysite.nl/ca.crt; 
     ssl on; 
     ssl_session_cache builtin:1000 shared:SSL:10m; 
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; 
     ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4; 
     ssl_prefer_server_ciphers on; 

    include includes/mysite.nl-redirects.conf; 

     location/{ 
     proxy_set_header  X-Forwarded-Proto "https"; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $host; 
     proxy_pass https://100.6.185.172:443; 
     } 
     location /account/ { 
     #return 301 http://$server_name$request_uri; 
     proxy_set_header  X-Forwarded-Proto "https"; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $host; 
     proxy_pass http://platform.mysite.nl:80; 
     } 
     location /contentowner/ { 
     #return 301 http://$server_name$request_uri; 
     proxy_set_header  X-Forwarded-Proto "https"; 
     proxy_set_header X-Real-IP $remote_addr; 
     proxy_set_header X-Forwarded-For $remote_addr; 
     proxy_set_header Host $host; 
     proxy_pass http://platform.mysite.nl:80; 
     } 
} 

그리고 이것은 내 nginx.config입니다 : 당신은 있지만 역방향 프록시에, 원래 서버에 HTTP/2를 사용하는

user www-data; 
worker_processes auto; 
pid /run/nginx.pid; 

events { 
     worker_connections 18000; 
     multi_accept on; 
} 

http { 

     ## 
     # Basic Settings 
     ## 

     sendfile on; 
     tcp_nopush off; 
     tcp_nodelay on; 
     keepalive_timeout 65; 
     types_hash_max_size 2048; 
     server_tokens off; 
     client_max_body_size 5M; 
     #proxy_buffering off; 
     #access_log off; 

     # server_names_hash_bucket_size 64; 
     # server_name_in_redirect off; 

     include /etc/nginx/mime.types; 
     default_type application/octet-stream; 

     ## 
     # SSL Settings 
     ## 

     ssl_dhparam /etc/nginx/ssl/dhparam.pem; 
     ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE 
     ssl_prefer_server_ciphers on; 

     ## 
     # Logging Settings 
     ## 

     access_log /var/log/nginx/access.log; 
     error_log /var/log/nginx/error.log; 

     ## 
     # Gzip Settings 
     ## 

     gzip on; 
     gzip_disable "msie6"; 

     gzip_vary on; 
     gzip_proxied any; 
     gzip_comp_level 6; 
     gzip_buffers 16 8k; 
     gzip_http_version 1.1; 
     gzip_min_length 256; 
     gzip_types text/plain text/css application/json application/x-javascript application/javascript text/xml application/xml application$ 

     ## 
     # Virtual Host Configs 
     ## 

     include /etc/nginx/conf.d/*.conf; 
     include /etc/nginx/sites-enabled/*; 
} 

답변

1

. 페이지가로드하는 추가 리소스의 수를 확인하는 것이 문제의 일부입니다.

+0

좋아요! 우리는 그것을 바꿀 것입니다! –

+1

예, 페이지로드가 크게 개선되었습니다! 감사!!! –