小编Fle*_*phy的帖子

Nginx 和 https - 指定 IP 地址作为 server_name 会给出正确的网站,但证书错误

我想运行此网址: https: //192.168.1.254并在地址栏中获取具有正确内容和证书的网站。我正在访问该网站,但地址栏中出现无效证书错误,因为证书是从不同的服务器块获取的:默认服务器块000-default.conf

有人可以向我解释这种行为吗?

我的客户端浏览器是 Google Chrome 版本 87.0.4280.88(官方版本)(64 位)

我的 Nginx 服务器是:

root@OpenWrt:/etc/nginx/conf.d# nginx -V
nginx version: nginx/1.19.4 (x86_64-pc-linux-gnu)
built with OpenSSL 1.1.1h  22 Sep 2020
TLS SNI support enabled
Run Code Online (Sandbox Code Playgroud)

我认为这个问题与 SNI 显然不允许将文字 IPv4 和 IPv6 地址作为“主机名”有关。但事实真的是这样吗?

我有一个默认服务器块000-default.conf,如下所示:

server {
    server_name _;
    listen 80 default_server;
    listen 443 ssl default_server;

    ## To also support IPv6, uncomment this block
    # listen [::]:80 default_server;
    # listen [::]:443 ssl default_server;

    ssl_certificate '/etc/nginx/conf.d/_lan.crt';
    ssl_certificate_key '/etc/nginx/conf.d/_lan.key';
    return 404; …
Run Code Online (Sandbox Code Playgroud)

ssl nginx https sni

3
推荐指数
1
解决办法
6894
查看次数

标签 统计

https ×1

nginx ×1

sni ×1

ssl ×1