I have built an HTTPS server using Apache/2.4.62 in a Linux environment using CentOS Stream release 9,
but if you change the port number and access it, the behavior is d… (read more)
I have built an HTTPS server using Apache/2.4.62 in a Linux environment using CentOS Stream release 9,
but if you change the port number and access it, the behavior is different from Chrome/Edge, so please let me confirm this.
Client authentication is enabled when using port 443 or 44999 in /etc/httpd/conf.d/ssl.conf.
The server certificate has been imported to the client PC, and the client PC certificate has been imported to the server.
I attached index.html to /var/www/html/ on the server side and set it up so that test.html would open on port 44999 when the "Start" button on index.html was pressed.
When I do this in Chrome or Edge, a certificate selection screen appears and when the client sends the certificate, the result is successful.
However, when I try this in Firefox, the certificate selection screen does not appear and the result is a failure.
Why does the certificate selection screen not appear?
Also, when I capture the packets at this time with Wireshark, it appears that an empty Certificate packet is being sent in response to the Certificate Request from the server.
If you enter https://IP address:44999/test.html directly into the address bar, you will be able to access the page successfully.
And the contents of index.html are as follows:
<title>connectTest</title>
<meta charset="UTF-8">
<script>
function connectTest() {
var request = new XMLHttpRequest();
var testUrl = "https://192.168.137.149:44999/test.html";
request.open('POST',testUrl,true);
request.send();
request.onreadystatechange = function(){
if(request.readyState == 4){
if(request.status == 200){
alert("Success");
} else {
alert("Error");
}
}
}
}
</script>
コネクションテスト
<button type="button" onclick="connectTest()">開始</button>
test.html just displays "Hello World".