Hi, I have an Nginx http proxy server with SSL. What I want to do is: If a client that has a certificate is trying to access the server's address, he is to be redirected to our production server, to certain URL. If a client doesn't have a certificate, he is to be redirected to the same production server, but a different URL. The problem is that if the client doesn't have a certificate, he gets the following error: 400 Bad Request The SSL certificate error ------------------------------------------------------------------------ nginx/0.6.39 I've tried the following: server { listen 8443; ssl on; ssl_certificate /etc/httpd/ssl/proxy-ssl.cer; ssl_certificate_key /etc/httpd/ssl/server.key; ssl_client_certificate /etc/httpd/ssl/ca-bundle.crt; ssl_verify_client on ............................................................................................. ............................................................................................. error_page 400 /400.html; location = /400.html { root /usr/share/nginx/html; but the error page 400 statement is simply ignored. Does anyone have an idea how can I do it ? I tried to find the 400 error page, thinking maybe I can make the redirect there, but it is simply not to be found. P.S. my programming/scripting skills aren't any.....
Typo ...... error_page 400 http://URL ZZZ wrote:> Hi, > > I have an Nginx http proxy server with SSL. What I want to do is: > > If a client that has a certificate is trying to access the server's > address, he is to be redirected to our production server, to certain URL. > If a client doesn't have a certificate, he is to be redirected to the > same production server, but a different URL. > The problem is that if the client doesn't have a certificate, he gets > the following error: > > 400 Bad Request > > The SSL certificate error > > ------------------------------------------------------------------------ > nginx/0.6.39 > > > > > > I've tried the following: > > server { > listen 8443; > > ssl on; > ssl_certificate /etc/httpd/ssl/proxy-ssl.cer; > ssl_certificate_key /etc/httpd/ssl/server.key; > ssl_client_certificate /etc/httpd/ssl/ca-bundle.crt; > ssl_verify_client on > ............................................................................................. > ............................................................................................. > > error_page 400 /400.html; > location = /400.html { > root /usr/share/nginx/html; > > but the error page 400 statement is simply ignored. Does anyone have an > idea how can I do it ? I tried to find the 400 error page, thinking > maybe I can make the redirect there, but it is simply not to be found. > > > P.S. my programming/scripting skills aren't any..... > _______________________________________________ > CentOS mailing list > CentOS at centos.org > http://lists.centos.org/mailman/listinfo/centos >