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:

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]