前言

Nginx擅⻓处理静态⽂件,是⾮常好的图⽚、⽂件服务器。把所有的静态资源的放到nginx上,可以使应⽤动静分离,性能更 好。

一、配置图片静态代理

  1. server {
  2. listen 80;
  3. server_name 域名地址;
  4. server_name_in_redirect off;
  5. #charset koi8-r;
  6. #默认请求
  7. location / {
  8. proxy_set_header Host $host;
  9. proxy_set_header X-Real-IP $remote_addr;
  10. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  11. proxy_pass http://localhost:81; #请求转向mysvr 定义的服务器列表
  12. # proxy_connect_timeout 1;
  13. }
  14. set $allk_root_path "D:/pic";
  15. location /imgPath{
  16. alias $allk_root_path/imgPath;
  17. }
  18. error_page 500 502 503 504 /50x.html;
  19. location = /50x.html {
  20. root html;
  21. }
  22. }

重点

  1. set $allk_root_path "D:/pic";
  2. location /imgPath{
  3. alias $allk_root_path/imgPath;
  4. }

二、配置验证码

说明:如在使用微信公众号开发时,配置安全域名和ip白名单时会要求验证码。

  1. map $http_upgrade $connection_upgrade {
  2. default upgrade;
  3. '' close;
  4. }
  5. server {
  6. listen 80;
  7. server_name 域名;
  8. #rewrite ^(.*)$ https://${server_name}$1 permanent;
  9. location /{
  10. proxy_pass http://127.0.0.1:8888/;
  11. proxy_set_header Host $http_host;
  12. proxy_set_header X-Real-IP $remote_addr;
  13. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  14. proxy_set_header Upgrade $http_upgrade;
  15. proxy_set_header Connection $connection_upgrade;
  16. }
  17. location /N0BFl8gO0B.txt{
  18. default_type text/html;
  19. return 200 "41f37afe8f6251ecb21ff70453a9a605";
  20. }
  21. location /okRNYuzL0C.txt{
  22. default_type text/html;
  23. return 200 "3435512708a5cffb65fe3bf8f7ba8291";
  24. }
  25. }

重点:

  1. location /N0BFl8gO0B.txt{
  2. default_type text/html; ##设置文本页面
  3. return 200 "41f37afe8f6251ecb21ff70453a9a605"; ## 返回页面字符串
  4. }

总结

nginx除了可以做服务器反向代理之外,还有很多用处。如配置图片静态代理,验证码等。