Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: As a user, I want to specify the API for mTLS authentication, so that protect important API. #8391

Open
AlinsRan opened this issue Nov 24, 2022 · 1 comment
Labels
enhancement New feature or request

Comments

@AlinsRan
Copy link
Contributor

AlinsRan commented Nov 24, 2022

Description

There will be a large number of paths in the gateway, and I hope to perform mTLS authentication on the specified path to protect this path. This needs to be supported by mTLS at the route level, and mTLS mutual authentication can be performed on the specified route.

Assuming there are two routes:

  1. /protect/* HTTPS and mTLS
  2. /public/* HTTPS

In fact, since the mTLS of APISIX cannot work on the route, when accessing different routes with the same SNI, you cannot authenticate the mTLS and TLS at the same time. /public/* still uses the mTLS.

Example

# URL:     /protect/post
# Expect:  HTTPS + mTLS   
# Actual:  HTTPS + mTLS 
curl --resolve 'httpbin.com:9443:127.0.0.1' https://gateway/protect/post -k --cert ./client.pem --key ./client.key

# URL:     /public/get  
# Expect:  HTTPS   
# Actual:  HTTPS + mTLS
curl --resolve 'httpbin.com:9443:127.0.0.1' https://gateway/public/get -k
@msmost
Copy link

msmost commented Feb 6, 2023

Opened discussion #8799 on this same topic. Interested in knowing more about whether APISIX can offer mTLS auth on specific routes.

@spacewander spacewander added the enhancement New feature or request label Feb 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants