nginx.conf 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. # For more information on configuration, see:
  2. # * Official English Documentation: http://nginx.org/en/docs/
  3. # * Official Russian Documentation: http://nginx.org/ru/docs/
  4. ########### 每个指令必须有分号结束。#################
  5. worker_processes 1; # 允许生成的进程数,默认为1:
  6. pid /var/run/nginx.pid; # 指定 Nginx 进程运行文件存放地址
  7. error_log /var/log/nginx/error.log;
  8. events {
  9. accept_mutex on; # 设置网络连接序列化,防止惊群现象发生,默认为on
  10. multi_accept on; # 设置一个进程是否同时接受多个网络连接,默认为off
  11. use epoll; # 事件驱动模型,select|poll|kqueue|epoll|resig|/dev/poll|eventport
  12. worker_connections 1024; # 最大连接数,默认为512
  13. }
  14. http {
  15. include mime.types; # 文件扩展名与文件类型映射表
  16. default_type application/octet-stream; # 默认文件类型,默认为text/plain
  17. # 访问服务日志
  18. access_log on;
  19. sendfile on; # 允许sendfile方式传输文件,默认为off,可以在http块、server块、location块
  20. keepalive_timeout 75; # 连接超时时间,默认为75秒,可以在http、server、location块
  21. # HTTP server块 - 重定向到HTTPS
  22. server {
  23. listen 80;
  24. server_name service.fastapiadmin.com;
  25. return 301 https://$server_name$request_uri;
  26. }
  27. # HTTPS server块
  28. server {
  29. listen 443 ssl http2;
  30. server_name service.fastapiadmin.com;
  31. # SSL证书配置
  32. ssl_certificate /etc/nginx/ssl/service.fastapiadmin.com.pem;
  33. ssl_certificate_key /etc/nginx/ssl/service.fastapiadmin.com.key;
  34. # SSL优化配置
  35. ssl_protocols TLSv1.2 TLSv1.3;
  36. ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA384;
  37. ssl_prefer_server_ciphers on;
  38. ssl_session_cache shared:SSL:10m;
  39. ssl_session_timeout 10m;
  40. # 官网代理 - 根路径访问官网
  41. location / {
  42. root /usr/share/nginx/html/fastdocs/dist;
  43. index index.html index.htm;
  44. try_files $uri $uri/ /index.html; #解决页面刷新404问题
  45. }
  46. # 前端代理 - /web访问前端
  47. location /web {
  48. alias /usr/share/nginx/html/frontend/dist;
  49. try_files $uri $uri/ /web/index.html; #解决页面刷新404问题
  50. }
  51. # 小程序代理 - /app访问小程序
  52. location /app {
  53. alias /usr/share/nginx/html/fastapp/dist/build/h5;
  54. try_files $uri $uri/ /app/index.html; #解决页面刷新404问题
  55. }
  56. # 后端代理
  57. location /api/v1 {
  58. proxy_set_header Host $host;
  59. proxy_set_header X-Real-IP $remote_addr;
  60. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  61. proxy_set_header X-Forwarded-Proto $scheme;
  62. proxy_set_header X-NginX-Proxy true;
  63. proxy_connect_timeout 300s;
  64. proxy_send_timeout 300s;
  65. proxy_read_timeout 300s;
  66. proxy_pass http://172.18.52.77:8001;
  67. # WebSocket 支持
  68. proxy_http_version 1.1;
  69. proxy_set_header Upgrade $http_upgrade;
  70. proxy_set_header Connection "upgrade";
  71. }
  72. error_page 500 502 503 504 /50x.html;
  73. location = /50x.html {
  74. root /usr/share/nginx/html;
  75. }
  76. }
  77. }