文章目录
原理:访问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
如果文章对你有帮助,欢迎点击上方按钮打赏作者
暂无评论