Nginx是一款非常优秀的web服务器,他提供了非常强大的功能,配置简单,性能强劲等等。
我们在将其用做web服务器的同时,还常常会用到其反向代理的功能,但大多数场景都是基于服务的,即应用层代理
其实他还可以在四层进行转发,即tcp或udp转发,以下是一个简单的示例代码
Nginx模块
- ngx_stream_ssl_module
配置示例
stream {
# 不同的域名进来,映射到不同的目标
map $ssl_preread_server_name $name {
playnice.eigenmagic.net playnice_backend;
webification.eigenmagic.net webification_backend;
project-eschatron.eigenmagic.net eschatron_backend;
}
upstream playnice_backend {
server 10.10.1.11:443;
}
upstream webification_backend {
server 10.10.1.101:8443;
}
upstream eschatron_backend {
server 10.10.1.201:443;
}
server {
listen 443;
proxy_pass $name;
proxy_protocol on;
ssl_preread on;
}
}
编译安装所需要的模块:
./configure –with-http_stub_status_module –with-http_ssl_module –with-stream –with-stream_ssl_module –with-stream_ssl_preread_module