Nginx教程

nginx配置https/http2浏览器报错ERR_SSL_PROTOCOL_ERROR

本文主要是介绍nginx配置https/http2浏览器报错ERR_SSL_PROTOCOL_ERROR,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

nginx版本1.18.0,
需要配置ssl和http2,一开始的配置如下:

server {
    listen 80;
    listen 443 http2;

    server_name xxx.com;

    proxy_read_timeout 600;
    
    # ssl
    ssl_certificate   /xxx.pem;
    ssl_certificate_key  /xxx.key;

    location / {
        proxy_pass http://xxxx;
    }
}

想当然的任务开了http2也就自动开ssl了,但事实上该配置无法通过https访问,浏览器报错:ERR_SSL_PROTOCOL_ERROR

此站点的连接不安全
=========

**m.farmeb.com** 发送了无效的响应。

ERR_SSL_PROTOCOL_ERROR

listen 443 http2;改为listen 443 ssl http2;即可,如下:

server {
    listen 80;
    listen 443 ssl http2;   # 重点。。

    server_name xxx.com;

    proxy_read_timeout 600;

    # ssl
    ssl_certificate   /xxx.pem;
    ssl_certificate_key  /xxx.key;

    location / {
        proxy_pass http://xxxx;
    }
}

如果是低版本nginx的话加“ssl on;”生效。

这篇关于nginx配置https/http2浏览器报错ERR_SSL_PROTOCOL_ERROR的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!