From 090a2790d9f5a6033d717d75ba2dab839e79e8c2 Mon Sep 17 00:00:00 2001 From: Ricco Xie Date: Sat, 19 Oct 2024 15:05:32 +0800 Subject: [PATCH] fix: ERR_SSL_PROTOCOL_ERROR when using IP host. --- index.html | 2 -- nginx.conf | 62 ++++++++++++++++++++++++++++++++++++++++-------------- 2 files changed, 46 insertions(+), 18 deletions(-) diff --git a/index.html b/index.html index 49881b7..981500a 100644 --- a/index.html +++ b/index.html @@ -4,8 +4,6 @@ - - Meilisearch UI diff --git a/nginx.conf b/nginx.conf index bbe8fea..7fda058 100644 --- a/nginx.conf +++ b/nginx.conf @@ -1,28 +1,58 @@ -events { } +events { +} http { include mime.types; sendfile on; server { - listen 24900; - listen [::]:24900; - server_name localhost; + listen 24900; + listen [::]:24900; + server_name localhost; - #error_page 404 /404.html; - root /usr/share/nginx/html; + #error_page 404 /404.html; + root /usr/share/nginx/html; - # direct all traffic to index.html for client-side SPA routing - location / { - try_files $uri $uri/ /index.html; - } + # direct all traffic to index.html for client-side SPA routing + location / { + try_files $uri $uri/ /index.html; - # redirect server error pages to the static page /50x.html - # - error_page 500 502 503 504 /50x.html; - location = /50x.html { - root /usr/share/nginx/html; + # enable CORS + if ($request_method = 'OPTIONS') { + add_header 'Access-Control-Allow-Origin' '*'; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS'; + # + # Custom headers and headers various browsers *should* be OK with but aren't + # + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range'; + # + # Tell client that this pre-flight info is valid for 20 days + # + add_header 'Access-Control-Max-Age' 1728000; + add_header 'Content-Type' 'text/plain; charset=utf-8'; + add_header 'Content-Length' 0; + return 204; + } + if ($request_method = 'POST') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; } + if ($request_method = 'GET') { + add_header 'Access-Control-Allow-Origin' '*' always; + add_header 'Access-Control-Allow-Methods' 'GET, POST, OPTIONS' always; + add_header 'Access-Control-Allow-Headers' 'DNT,User-Agent,X-Requested-With,If-Modified-Since,Cache-Control,Content-Type,Range' always; + add_header 'Access-Control-Expose-Headers' 'Content-Length,Content-Range' always; + } + } + + # redirect server error pages to the static page /50x.html + # + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root /usr/share/nginx/html; + } } -} +} \ No newline at end of file