nginx - Nginx L4 代理适用于 HTTPS,但不适用于 HTTP
问题描述
我有以下配置作为 Nginx 上的 L4 代理,一切正常。
stream {
map $ssl_preread_server_name $name {
hostnames;
.ipchicken.com $ssl_preread_server_name;
.bbc.com $ssl_preread_server_name;
.bbc.co.uk $ssl_preread_server_name;
.bbci.co.uk $ssl_preread_server_name;
.neverssl.com $ssl_preread_server_name; #<------- None SSL
}
server {
resolver 8.8.8.8;
listen 443;
ssl_preread on;
proxy_connect_timeout 5s;
proxy_pass $name:$server_port;
}
但是当请求 HTTP 站点时,例如“http://neverssl.com/”,Nginx 没有响应,并且 Web 浏览器返回“ ERR_EMPTY_RESPONSE ”。
我确定我的语法有问题,因为通过 ssl_preread 调用 None HTTPS,但我无法为单个/多个域更正此问题,就像我对 HTTPS url 所做的那样。
我也将443改为80。但没有再次响应。
我不确定这个配置有什么问题。
解决方案
推荐阅读
- flutter - getExternalStorageDirectory() 函数不适用于不同的隔离
- ios - XCode 12.3 上的 ReactNative 0.59.10 未显示照片
- electron-vue - 如何将 monaco 编辑器与 electron-vue 集成?
- amazon-web-services - 如何通过带有预签名 URL 的 s3 加载网站
- node.js - 如何创建本地 https 代理
- c# - 模型映射器c#中的树嵌套文件夹
- javascript - 将对象另存为文本
- python - 时间序列预测的逆变换
- python - appium webdriver - 无法理解的错误
- python - Flask 重定向不起作用,没有错误,并且 db 没有更新