Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8299973
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 8, 20262026-06-08T16:22:19+00:00 2026-06-08T16:22:19+00:00

Resummarising my question: I have got a Apache web server fronting the Jboss. below

  • 0

Resummarising my question:

I have got a Apache web server fronting the Jboss.
below is the ssl part of the Httpd conf

ProxyRequests Off
SSLProxyEngine on

SSLCertificateFile 
/FinMgmt/deploy/https/certs/webserver/fm.insurance.co.uk_a_cert.pem
SSLCertificateKeyFile
/FinMgmt/deploy/https/certs/webserver/fm.insurance.co.uk_a_key.pem

SSLCACertificateFile       
/FinMgmt/deploy/https/certs/fm.insurance.co.uk_CA_cert.pem
SSLVerifyClient optional_no_ca
SSLOptions +ExportCertData
ProxyPass /webapp1 https://fm.insurance.co.uk:8443/webapp1
ProxyPassReverse /webapp1 https://fm.insurance.co.uk:8443/webapp1
ProxyPass /webapp2 https://fm.insurance.co.uk:8443/webapp2
ProxyPassReverse /webapp2 https://fm.insurance.co.uk:8443/webapp2

Below is the ssl part from jboss server.xml:

    <!-- SSL/TLS Connector configuration using the admin devl guide keystore clientAuth=false -->
    <Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
    maxThreads="500" scheme="https" secure="true"
    clientAuth="false" sslProtocol="TLS"
    keystoreFile="${jboss.server.home.dir}/conf/server.keystore"
    keystorePass="glamdev"
    truststoreFile="${jboss.server.home.dir}/conf/server.truststore"

    truststorePass="passwd"/>

As per my understanding, Apache is configured to use 2 way mutual authentication with SSLVerifyClient optional_no_ca meaning that client may or maynot provide the certificate.

Now jboss is configured to one way SSL authentication.
Now what I understand is ,when browser send request apache,apache will respond with the certificate and browser will try to authenticate using its root CA or throw an exception asking user to store it.

And when apache will route request to jboss,here apache will act as client and jboss as SSL server,jboss will send its certificate from keystore which will be verified by the Apache using SSLCACertificateFile directive

And if jboss has to redirect to itself ,it will have to go through the reverse proxy as we have set proxyPassReverse.In that case jboss will act as SSL client and Apache http as SSL server and Apache will will send its certificate which jboss verify using the CA certificate in trustore.
Am I right in interpreting the config files?

Also I dont exactly understand the use of optional_no_ca in SSLVerifyClient.Will apache request the certificate from browser or not or it depends upon the browser ?

Actually I have inherited this application with no documentation whatsover and I am trying hard to make some sense out of it.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-08T16:22:20+00:00Added an answer on June 8, 2026 at 4:22 pm

    I’m assuming that what you’re after is to use client-certificate authentication in your JBoss application, to authenticate browsers (not Apache Httpd as a client to JBoss).

    If you want to have Apache Httpd as a reverse proxy in front of you JBoss container, you need to configure Apache Httpd to request and handle client-certificate authentication. In particular, you should use its SSLCA* and SSLVerifyClient directives, part of mod_ssl.

    Whether you configure SSL/TLS between Apache Httpd and your JBoss worker node is independent. It’s often unnecessary if you’re on a trusted network at that point. If you do want SSL/TLS there, use Apache Httpd’s SSLProxy* directives to configure which CA to trust. This being said, doing so will certainly create more confusion within your application, since there would be an ambiguity as to where the client-certificate information comes from: either a real-client certificate authentication at the JBoss container level, or a relayed certificate, as handled by Apache Httpd.

    Indeed, you’ll need to pass on the client-certificate information to your container for further information, as described in this answer.


    If instead, what you’re after is client-certificate authentication between Apache Httpd and JBoss, where you need this connection to be secured with SSL/TLS and to make sure if comes from the reverse proxy (which would present its certificate), you should be able to to this using SSLProxyMachineCertificateFile available in Apache Httpd 2.4. (This configuration is certainly unusual.)


    EDIT: (Following changes to the question.)

    As per my understanding, Apache is configured to use 2 way mutual
    authentication with SSLVerifyClient optional_no_ca meaning that client
    may or maynot provide the certificate.

    SSLVerifyClient optional_no_ca means that Apache Httpd will only check that the client has the private key for the certificate it presents: it won’t verify that the certificate is trusted (making SSLCACertificateFile useless). If you want presentation of the certificate to be optional, but still verify it against your PKI, use SSLVerifyClient optional (with SSLCACertificateFile).

    Now jboss is configured to one way SSL authentication. Now what I
    understand is ,when browser send request apache,apache will respond
    with the certificate and browser will try to authenticate using its
    root CA or throw an exception asking user to store it.

    Yes, and the connection between the browser and Apache Httpd has nothing to do with JBoss.

    And when apache will route request to jboss,here apache will act as
    client and jboss as SSL server,jboss will send its certificate from
    keystore which will be verified by the Apache using
    SSLCACertificateFile directive

    No, it’s SSLProxyCACertificateFile (or ...Path)

    And if jboss has to redirect to itself ,it will have to go through the
    reverse proxy as we have set proxyPassReverse.In that case jboss will
    act as SSL client and Apache http as SSL server and Apache will will
    send its certificate which jboss verify using the CA certificate in
    trustore. Am I right in interpreting the config files?

    I’m not sure under which circumstances JBoss would “redirect to itself” (or what you mean by this). There’s nothing to suggest JBoss has a role as a client here. This is not what ProxyPassReverse is for.

    Also I dont exactly understand the use of optional_no_ca in
    SSLVerifyClient.Will apache request the certificate from browser or
    not or it depends upon the browser ?

    When you set SSLVerifyClient to optional, optional_no_ca or require, the server will request a certificate. With require, it will terminate the connection if the client doesn’t send one (that it trusts).

    As your configuration stands, there’s nothing to suggest that the client-certificate is conveyed to the JBoss container. It’s not verified in any way at the Apache Httpd level (anyone with a self-signed client-certificate could connect here). You could in principle use optional_no_ca, let any certificate through and only verify them once they arrive to the Java container, but you’d certainly need some extra custom code to do so in your JBoss application. You would also need to convey the certificate itself somehow (e.g. via mod_header and a custom header or more directly using mod_proxy_ajp. It would also be harder to break the connection to make the client try another certificate if the one it presented initially was incorrect.

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

No related questions found

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.