在我当前的 nginx 配置中,我有多个
server {
listen *:443;
servername my_server_name;
...
}
块。这些块由第三方软件管理,我无法更改。
我可以通过添加另一个块轻松添加另一个由 nginx ssl 终止的域。
但是,我想在此 nginx 服务器上添加一个未通过 ssl 终止的域,但该域传递到另一台主机,该主机执行 ssl 终止。它应该像其他server_name
配置一样通过 SNI 检测。
我想到了一些类似的事情:
server {
listen *:443;
server_name my_project.org;
proxy_pass 10.1.1.3:443;
}
但这会导致proxy_pass is not allowed here
错误。
我读过流模块和流 ssl 预读模块,但无法真正弄清楚如何将其与现有的(不可更改的)nginx 服务器块相结合。
答案1
http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_pass告诉在、和部分proxy_pass
中允许。location
if in location
limit_except
但是,如果使用server
带有 TLS 的块,则server
始终会终止 TLS。
为了通过 TLS,您需要使用该stream
模块。