nginx如何一个端口同时支持http和https

原理:访问http返回ssl证书不正确,nginx报 497 内部错误,进而重定向到https

实现如下两个地址都能下载

http下载地址:               http://xxxxx.cn:8080/filename
真实有效的https下载地址:     https://xxxxx.cn:8080/filename

nginx配置代码如下

    server { 
       listen 8080 ssl http2 default_server;
        server_name  _;
        root         /usr/share/nginx/html;
        include /etc/nginx/default.d/*.conf;
        ssl on; 
        ssl_certificate "/etc/nginx/ssl/xxxxx.cn.pem";
        ssl_certificate_key "/etc/nginx/ssl/xxxxx.cn.key";
        location / {
            # 下面这个是真实的文件存放路径
            alias   /home/oss/;
            #autoindex on;   #这行就是最关键的
            autoindex_exact_size off;  # 不显示目录数量限制
            autoindex_localtime on;  # 显示文件修改时间
            charset utf-8;
        }
        error_page 497 https://$host:8080$request_uri;
    }

nginx相关日志展示

## 访问日志
[root@OSS-To-HttpDownload-bak nginx]# cat access.log 
223.xx.185.xxx - - [11/Jul/2024:17:29:53 +0800] "GET /cqv/agent.arm64 HTTP/1.1" 302 145 "-" "Wget/1.21" "-"
223.xx.185.xxx - - [11/Jul/2024:17:29:55 +0800] "GET /cqv/agent.arm64 HTTP/1.1" 200 17776886 "-" "Wget/1.21" "-"

## 错误日志
[root@OSS-To-HttpDownload-bak nginx]# cat error.log 
2024/07/11 17:29:55 [crit] 18386#18386: *2 SSL_read() failed (SSL: error:0A000126:SSL routines::unexpected eof while reading) while keepalive, client: 223.xx.185.xxx, server: 0.0.0.0:8080
声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/1368.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2024/7/21作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录