hansedong opened a new issue, #9801:
URL: https://github.com/apache/apisix/issues/9801

   ### Current Behavior
   
   When I access the service through HTTPS, I intermittently encounter HTTP 500 
errors. The browser is Chrome. It's very strange that the issue resolves itself 
when I force quit the browser.
   
   Through the APISIX error log, you can clearly see the following errors:
   
   ```
   2023/07/07 17:29:43 [error] 885282#885282: *11754987 lua entry thread 
aborted: runtime error: /usr/local/apisix/apisix/init.lua:332: attempt to index 
local 'matched_ssl' (a nil value)
   stack traceback:
   coroutine 0:
   ?172.18.96.54
           access_by_lua(nginx.conf:356):2: in main chunk, client: 
172.18.96.54, server: _, request: "GET / HTTP/2.0", host: 
"duizhang-admin.xxx.ab"
   ```
   
   Here are some additional information about my environment:
   
   1. When the problem occurs, I can access it normally through Safari browser.
   2. The page for APISIX 500 is as follows:
   
![image](https://github.com/apache/apisix/assets/3860021/160ed8f3-db9f-4270-b378-dbc9f34c0b43)
   3. My certificate is a private certificate, and my local MacOS trusts the 
certificate. I don't think the problem has much to do with the certificate.
   4. `I have encountered this issue not only on the same Mac device, but my 
colleagues have also experienced it multiple times.`
   5. From the browser's packet capture, it can be seen that Chrome accesses 
HTTPS websites using the HTTP/2 protocol.
   
   ### Expected Behavior
   
   _No response_
   
   ### Error Logs
   
   ```
   2023/07/07 17:39:22 [error] 885279#885279: *11795254 lua entry thread 
aborted: runtime error: /usr/local/apisix/apisix/init.lua:332: attempt to index 
local 'matched_ssl' (a nil value)
   stack traceback:
   coroutine 0:
           /usr/local/apisix/apisix/init.lua: in function 'verify_https_client'
           /usr/local/apisix/apisix/init.lua:560: in function 
'http_access_phase'
           access_by_lua(nginx.conf:356):2: in main chunk, client: 
172.18.96.30, server: _, request: "GET 
/api/notice/websocket/?token=3ec58d194331d93f12915e3f0cc8d4c6_1858_1688611035_&EIO=3&transport=websocket
 HTTP/1.1", host: "xxx.ab"
   ?172.18.96.54
           /usr/local/apisix/apisix/init.lua: in function 'verify_https_client'
           /usr/local/apisix/apisix/init.lua:560: in function 
'http_access_phase'
           access_by_lua(nginx.conf:356):2: in main chunk, client: 
172.18.96.54, server: _, request: "GET / HTTP/2.0", host: 
"duizhang-admin.xxx.ab"
   2023/07/07 17:29:32 [error] 885279#885279: *11692337 lua entry thread 
aborted: runtime error: /usr/local/apisix/apisix/init.lua:332: attempt to index 
local 'matched_ssl' (a nil value)
   stack traceback:
   coroutine 0:
           /usr/local/apisix/apisix/init.lua: in function 'verify_https_client'
           /usr/local/apisix/apisix/init.lua:560: in function 
'http_access_phase'
           access_by_lua(nginx.conf:356):2: in main chunk, client: 
172.18.96.54, server: _, request: "GET /favicon.ico HTTP/2.0", host: 
"duizhang-admin.xxx.ab", referrer: "https://duizhang-admin.xxx.ab/";
   2023/07/07 17:29:33 [error] 885279#885279: *11754296 lua entry thread 
aborted: runtime error: /usr/local/apisix/apisix/init.lua:332: attempt to index 
local 'matched_ssl' (a nil value)
   stack traceback:
   coroutine 0:
           /usr/local/apisix/apisix/init.lua: in function 'verify_https_client'
           /usr/local/apisix/apisix/init.lua:560: in function 
'http_access_phase'
           access_by_lua(nginx.conf:356):2: in main chunk, client: 
172.18.96.30, server: _, request: "GET 
/api/notice/websocket/?token=3ec58d194331d93f12915e3f0cc8d4c6_1858_1688611035_&EIO=3&transport=websocket
 HTTP/1.1", host: "xxx.ab"
   2023/07/07 17:29:43 [error] 885282#885282: *11754987 lua entry thread 
aborted: runtime error: /usr/local/apisix/apisix/init.lua:332: attempt to index 
local 'matched_ssl' (a nil value)
   stack traceback:
   coroutine 0:
   ?172.18.96.54
           access_by_lua(nginx.conf:356):2: in main chunk, client: 
172.18.96.54, server: _, request: "GET / HTTP/2.0", host: 
"duizhang-admin.xxx.ab"
   ```
   
   ### Steps to Reproduce
   
   The occurrence of this issue is sporadic, and it is unclear how to reproduce 
it.
   
   ### Environment
   
   - APISIX version (run `apisix version`): `3.4.0`
   - Operating system (run `uname -a`): `Linux knode10-72-73-177 
5.15.29-200.el7.x86_64 #1 SMP Thu Mar 31 14:09:17 UTC 2022 x86_64 x86_64 x86_64 
GNU/Linux`
   - OpenResty / Nginx version (run `openresty -V` or `nginx -V`):
   ```
   nginx version: openresty/1.21.4.1
   built by gcc 9.3.1 20200408 (Red Hat 9.3.1-2) (GCC)
   built with OpenSSL 1.1.1s  1 Nov 2022
   TLS SNI support enabled
   configure arguments: --prefix=/usr/local/openresty/nginx --with-cc-opt='-O2 
-DAPISIX_BASE_VER=1.21.4.1.8 
-DNGX_GRPC_CLI_ENGINE_PATH=/usr/local/openresty/libgrpc_engine.so 
-DNGX_HTTP_GRPC_CLI_ENGINE_PATH=/usr/local/openresty/libgrpc_engine.so 
-DNGX_LUA_ABORT_AT_PANIC -I/usr/local/openresty/zlib/include 
-I/usr/local/openresty/pcre/include -I/usr/local/openresty/openssl111/include' 
--add-module=../ngx_devel_kit-0.3.1 --add-module=../echo-nginx-module-0.62 
--add-module=../xss-nginx-module-0.06 --add-module=../ngx_coolkit-0.2 
--add-module=../set-misc-nginx-module-0.33 
--add-module=../form-input-nginx-module-0.12 
--add-module=../encrypted-session-nginx-module-0.09 
--add-module=../srcache-nginx-module-0.32 --add-module=../ngx_lua-0.10.21 
--add-module=../ngx_lua_upstream-0.07 
--add-module=../headers-more-nginx-module-0.33 
--add-module=../array-var-nginx-module-0.05 
--add-module=../memc-nginx-module-0.19 --add-module=../redis2-nginx-module-0.15 
--add-module=../redis-nginx-module-0.3.9 --ad
 d-module=../ngx_stream_lua-0.0.11 
--with-ld-opt='-Wl,-rpath,/usr/local/openresty/luajit/lib 
-Wl,-rpath,/usr/local/openresty/wasmtime-c-api/lib 
-L/usr/local/openresty/zlib/lib -L/usr/local/openresty/pcre/lib 
-L/usr/local/openresty/openssl111/lib 
-Wl,-rpath,/usr/local/openresty/zlib/lib:/usr/local/openresty/pcre/lib:/usr/local/openresty/openssl111/lib'
 --add-module=/tmp/tmp.YzVafXtnkf/openresty-1.21.4.1/../mod_dubbo-1.0.2 
--add-module=/tmp/tmp.YzVafXtnkf/openresty-1.21.4.1/../ngx_multi_upstream_module-1.1.1
 
--add-module=/tmp/tmp.YzVafXtnkf/openresty-1.21.4.1/../apisix-nginx-module-1.12.0
 
--add-module=/tmp/tmp.YzVafXtnkf/openresty-1.21.4.1/../apisix-nginx-module-1.12.0/src/stream
 
--add-module=/tmp/tmp.YzVafXtnkf/openresty-1.21.4.1/../apisix-nginx-module-1.12.0/src/meta
 --add-module=/tmp/tmp.YzVafXtnkf/openresty-1.21.4.1/../wasm-nginx-module-0.6.4 
--add-module=/tmp/tmp.YzVafXtnkf/openresty-1.21.4.1/../lua-var-nginx-module-v0.5.3
 --add-module=/tmp/tmp.YzVafXtnkf/openresty-1.21.4.1/../grp
 c-client-nginx-module-v0.4.2 --with-poll_module --with-pcre-jit --with-stream 
--with-stream_ssl_module --with-stream_ssl_preread_module --with-http_v2_module 
--without-mail_pop3_module --without-mail_imap_module 
--without-mail_smtp_module --with-http_stub_status_module 
--with-http_realip_module --with-http_addition_module 
--with-http_auth_request_module --with-http_secure_link_module 
--with-http_random_index_module --with-http_gzip_static_module 
--with-http_sub_module --with-http_dav_module --with-http_flv_module 
--with-http_mp4_module --with-http_gunzip_module --with-threads --with-compat 
--with-stream --with-http_ssl_module
   ```
   - etcd version, if relevant (run `curl 
http://127.0.0.1:9090/v1/server_info`): `3.5.9`
   - APISIX Dashboard version, if relevant: `3.0.1`
   - Plugin runner version, for issues related to plugin runners:
   - LuaRocks version, for installation issues (run `luarocks --version`):
   ```
   /usr/local/bin/luarocks 3.8.0
   LuaRocks main command-line interface
   ```


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to