nginx Node js反向代理在http上工作,但在https上不工作

abithluo  于 2024-01-06  发布在  Nginx
关注(0)|答案(1)|浏览(279)

我正在尝试部署vite-plugin-ssr应用程序。我正在数字海洋服务器上使用CloudPanel。
我有一个nodejs服务器,它在服务器上本地运行,并在端口3000上公开。我用命令npm run server运行服务器,它将启动一个监听端口3000的服务器。
在我安装证书(certbot)之前,它工作正常。当我删除证书时,它也工作正常。
安装证书后,我在我的网站上得到这个错误:ERR_HTTP2_PROTOCOL_ERROR
这是我的nginx配置:

  1. server {
  2. listen 80;
  3. listen [::]:80;
  4. listen 443 ssl http2;
  5. listen [::]:443 ssl http2;
  6. {{ssl_certificate_key}}
  7. {{ssl_certificate}}
  8. server_name example.nl;
  9. return 301 https://www.example.nl$request_uri;
  10. }
  11. server {
  12. listen 80;
  13. listen [::]:80;
  14. listen 443 ssl http2;
  15. listen [::]:443 ssl http2;
  16. {{ssl_certificate_key}}
  17. {{ssl_certificate}}
  18. server_name www.example.nl www1.example.nl;
  19. {{root}}
  20. {{nginx_access_log}}
  21. {{nginx_error_log}}
  22. if ($scheme != "https") {
  23. rewrite ^ https://$host$uri permanent;
  24. }
  25. location ~ /.well-known {
  26. auth_basic off;
  27. allow all;
  28. }
  29. {{settings}}
  30. index index.html;
  31. location / {
  32. proxy_pass http://localhost:{{app_port}}/;
  33. proxy_http_version 1.1;
  34. proxy_set_header X-Forwarded-Host $host;
  35. proxy_set_header X-Forwarded-Server $host;
  36. proxy_set_header X-Real-IP $remote_addr;
  37. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  38. proxy_set_header X-Forwarded-Proto $scheme;
  39. proxy_set_header Host $http_host;
  40. proxy_set_header Upgrade $http_upgrade;
  41. proxy_set_header Connection "Upgrade";
  42. proxy_pass_request_headers on;
  43. proxy_max_temp_file_size 0;
  44. proxy_connect_timeout 900;
  45. proxy_send_timeout 900;
  46. proxy_read_timeout 900;
  47. proxy_buffer_size 128k;
  48. proxy_buffers 4 256k;
  49. proxy_busy_buffers_size 256k;
  50. proxy_temp_file_write_size 256k;
  51. proxy_redirect off;
  52. }
  53. }

字符串

6fe3ivhb

6fe3ivhb1#

  1. server {
  2. listen 80;
  3. listen [::]:80;
  4. listen 443 ssl http2;
  5. listen [::]:443 ssl http2;
  6. {{ssl_certificate_key}}
  7. {{ssl_certificate}}
  8. server_name example.nl;
  9. return 301 https://www.example.nl$request_uri;
  10. } // Remove this entire server config
  11. // This one server config is enough
  12. server {
  13. listen 80;
  14. listen [::]:80;
  15. listen 443 ssl http2;
  16. listen [::]:443 ssl http2;
  17. {{ssl_certificate_key}}
  18. {{ssl_certificate}}
  19. server_name www.example.nl www1.example.nl;
  20. {{root}}
  21. {{nginx_access_log}}
  22. {{nginx_error_log}}
  23. if ($scheme != "https") {
  24. rewrite ^ https://$host$uri permanent; // This will take care of the http to https permanent redirection
  25. }
  26. location ~ /.well-known {
  27. auth_basic off;
  28. allow all;
  29. }
  30. {{settings}}
  31. index index.html;
  32. location / {
  33. proxy_pass http://localhost:{{app_port}}/;
  34. proxy_http_version 1.1;
  35. proxy_set_header X-Forwarded-Host $host;
  36. proxy_set_header X-Forwarded-Server $host;
  37. proxy_set_header X-Real-IP $remote_addr;
  38. proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  39. proxy_set_header X-Forwarded-Proto $scheme;
  40. proxy_set_header Host $http_host;
  41. proxy_set_header Upgrade $http_upgrade;
  42. proxy_set_header Connection "Upgrade";
  43. proxy_pass_request_headers on;
  44. proxy_max_temp_file_size 0;
  45. proxy_connect_timeout 900;
  46. proxy_send_timeout 900;
  47. proxy_read_timeout 900;
  48. proxy_buffer_size 128k;
  49. proxy_buffers 4 256k;
  50. proxy_busy_buffers_size 256k;
  51. proxy_temp_file_write_size 256k;
  52. proxy_redirect off;
  53. }
  54. }

字符串
确保在/home/<site-user>/htdocs/<domain-name>/<app-name>/dist中正确部署应用程序
同时更新此处的目录

展开查看全部

相关问题