千家信息网

如何进行Nginx反向代理与服务器的配置缓冲

发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,本篇文章为大家展示了如何进行Nginx反向代理与服务器的配置缓冲,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Nginx反向代理关于对后端服务器的配置。对于广
千家信息网最后更新 2025年01月23日如何进行Nginx反向代理与服务器的配置缓冲

本篇文章为大家展示了如何进行Nginx反向代理与服务器的配置缓冲,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

Nginx反向代理关于对后端服务器的配置。对于广大的网管员来说nginx反向代理是必修的一门课。下面我们就来看看有关的内容。有三个后端服务,一个为web内容服务,一个是论坛服务,一个为文件服务。

当一个请求来时,nginx代理服务器其查看url把请求定向到相应的服务器,这个配置也缓冲文件服务的内容,但是论坛的和数据下载的内容就不缓存了,这个配置也使用了压缩,更好的节省内存

  1. #######################################################

  2. ### Calomel.org /etc/nginx.conf BEGIN

  3. #######################################################

  4. pid /var/run/nginx.pid;

  5. user nginx nginx;

  6. worker_processes 10;

  7. events {

  8. worker_connections 1024;

  9. }

  10. http {

  11. ## MIME types

  12. #include /etc/nginx_mime.types;

  13. default_type application/octet-stream;

  14. ## Size Limits

  15. client_body_buffer_size 128K;

  16. client_header_buffer_size 128K;

  17. client_max_body_size 1M;

  18. large_client_header_buffers 1 1k;

  19. ## Timeouts

  20. client_body_timeout 60;

  21. client_header_timeout 60;

  22. expires 24h;

  23. keepalive_timeout 60 60;

  24. send_timeout 60;

  25. ## General Options

  26. ignore_invalid_headers on;

  27. keepalive_requests 100;

  28. limit_zone gulag $binary_remote_addr 5m;

  29. recursive_error_pages on;

  30. sendfile on;

  31. server_name_in_redirect off;

  32. server_tokens off;

  33. ## TCP options

  34. tcp_nodelay on;

  35. tcp_nopush on;

  36. ## Compression

  37. gzip on;

  38. gzip_buffers 16 8k;

  39. gzip_comp_level 6;

  40. gzip_http_version 1.0;

  41. gzip_min_length 0;

  42. gzip_types text/plain text/css image/x-icon application/x-perl
    application/x-httpd-cgi;

  43. gzip_vary on;

  44. ## Log Format

  45. log_format main '$remote_addr $host $remote_user [$time_local]
    "$request" '

  46. '$status $body_bytes_sent "$http_referer" "$http_user_agent" '

  47. '"$gzip_ratio"';

  48. ## Proxy options

  49. proxy_buffering on;

  50. proxy_cache_min_uses 3;

  51. proxy_cache_path /usr/local/nginx/proxy_temp/ levels=1:2
    keys_zone=cache:10m inactive=10m max_size=1000M;

  52. proxy_cache_valid any 10m;

  53. proxy_ignore_client_abort off;

  54. proxy_intercept_errors on;

  55. proxy_next_upstream error timeout invalid_header;

  56. proxy_redirect off;

  57. proxy_set_header X-Forwarded-For $remote_addr;

  58. proxy_connect_timeout 60;

  59. proxy_send_timeout 60;

  60. proxy_read_timeout 60;

  61. ## Backend servers (web1 is the primary and web2 will
    come up if web1 is down)

  62. upstream webbackend {

  63. server web1.domain.lan weight=10 max_fails=3 fail_timeout=30s;

  64. server web2.domain.lan weight=1 backup;

  65. }

  66. server {

  67. access_log /var/log/nginx/access.log main;

  68. error_log /var/log/nginx/error.log;

  69. index index.html;

  70. limit_conn gulag 50;

  71. listen 127.0.0.1:80 default;

  72. root /usr/local/nginx/html;

  73. server_name _;

  74. ## Only requests to our Host are allowed

  75. if ($host !~ ^(mydomain.com|www.mydomain.com)$ ) {

  76. return 444;

  77. }

  78. ## Only allow these request methods

  79. if ($request_method !~ ^(GET|HEAD|POST)$ ) {

  80. return 444;

  81. }

  82. ## Only allow these file types to document root

  83. location / {

  84. if ($request_uri ~* (^\/|\.html|\.jpg|\.pl|\.png|\.css|\.
    ico|robots\.txt)$ ) {

  85. break;

  86. }

  87. return 444;

  88. }

  89. ## PROXY - Forum

  90. location /forum/ {

  91. proxy_pass http://forum.domain.lan/forum/;

  92. }

  93. ## PROXY - Data

  94. location /files/ {

  95. proxy_pass http://data.domain.lan/;

  96. }

  97. ## PROXY - Web

  98. location / {

  99. proxy_pass http://webbackend;

  100. proxy_cache cache;

  101. proxy_cache_valid 200 24h;

  102. proxy_cache_use_stale error timeout invalid_header updating
    http_500 http_502 http_503 http_504;

  103. proxy_ignore_headers Expires Cache-Control;

  104. }

  105. ## All other errors get the generic error page

  106. error_page 400 401 402 403 404 405 406 407 408 409 410 411
    412 413 414 415 416 417

  107. 500 501 502 503 504 505 506 507 /error_page.html;

  108. location /error_page.html {

  109. internal;

  110. }

  111. }

  112. }

  113. #

  114. #######################################################

  115. ### Calomel.org /etc/nginx.conf END

  116. #######################################################

上述内容就是如何进行Nginx反向代理与服务器的配置缓冲,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

0