Я создаю веб-сервер ( http://blog.linformatronics.nl/ ), который отлично работает как с IPv4, так и с IPv6, а также при использовании соединения без SSL. Однако, когда я подключаюсь к нему через https, IPv6 работает должным образом, но соединение IPv4 вызывает ошибку на стороне клиента. Журналы на стороне сервера пусты для подключения IPv4 / https. Обобщено в таблице:
| http | https
-----+-------+-------------------------------------------------------
IPv4 | works | OpenSSL error, failed. No server side logging.
-----+-------+-------------------------------------------------------
IPv6 | works | self signed certificate warning, but works as expected
По-видимому, туннель SSL даже не настроен, что объясняет, что журналы Apache пусты. Но почему он работает нормально для IPv6 и не работает для IPv4? У меня вопрос Зачем возникает ли эта ошибка OpenSSL и как ее решить?
Ниже приведена дополнительная информация о настройке.
Команда, используемая для воспроизведения поведения IPv6 / https:
$ wget --no-check-certificate -O /dev/null -6 https://blog.linformatronics.nl
--2012-11-03 15:46:48-- https://blog.linformatronics.nl/
Resolving blog.linformatronics.nl (blog.linformatronics.nl)... 2001:980:1b7f:1:a00:27ff:fea6:a2e7
Connecting to blog.linformatronics.nl (blog.linformatronics.nl)|2001:980:1b7f:1:a00:27ff:fea6:a2e7|:443... connected.
WARNING: cannot verify blog.linformatronics.nl's certificate, issued by `/CN=localhost':
Self-signed certificate encountered.
WARNING: certificate common name `localhost' doesn't match requested host name `blog.linformatronics.nl'.
HTTP request sent, awaiting response... 200 OK
Length: 4556 (4.4K) [text/html]
Saving to: `/dev/null'
100%[=======================================================================>] 4,556 --.-K/s in 0s
2012-11-03 15:46:49 (62.5 MB/s) - `/dev/null' saved [4556/4556]
Команда, используемая для воспроизведения поведения IPv6 / https:
$ wget --no-check-certificate -O /dev/null -4 https://blog.linformatronics.nl
--2012-11-03 15:47:28-- https://blog.linformatronics.nl/
Resolving blog.linformatronics.nl (blog.linformatronics.nl)... 82.95.251.247
Connecting to blog.linformatronics.nl (blog.linformatronics.nl)|82.95.251.247|:443... connected.
OpenSSL: error:140770FC:SSL routines:SSL23_GET_SERVER_HELLO:unknown protocol
Unable to establish SSL connection.
У вас есть серьезные неправильные настройки брандмауэра / NAT. На самом деле у вас нет веб-сервера на порту 443 ...
$ telnet 82.95.251.247 443
Trying 82.95.251.247...
Connected to 82.95.251.247.
Escape character is '^]'.
SSH-2.0-OpenSSH_6.0p1 Debian-3ubuntu1
И ваша служба IPv6, похоже, отключена от брандмауэра ...
$ telnet 2001:980:1b7f:1:a00:27ff:fea6:a2e7 443
Trying 2001:980:1b7f:1:a00:27ff:fea6:a2e7...
telnet: connect to address 2001:980:1b7f:1:a00:27ff:fea6:a2e7: Permission denied
Устраните проблемы с брандмауэром и / или обслуживанием неправильного порта, и вы обнаружите, что все начинает работать.