Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占用内存少,并发能力强,事实上 Nginx 的并发能力确实在同类型的网页服务器中表现较好。Nginx 专为性能优化而开发,性能是其最重要的要求,十分注重效率,有报告 Nginx 能支持高达 50000 个并发连接数。
正向代理:
局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被称为正向代理。
配置示例
server {
resolver 114.114.114.114; #指定DNS服务器IP地址
listen 80;
location / {
proxy_pass http://$host$request_uri; #设定代理服务器的协议和地址
proxy_set_header HOST $host;
proxy_buffers 256 4k;
proxy_max_temp_file_size 0k;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_next_upstream error timeout invalid_header http_502;
}
}
server {
resolver 114.114.114.114; #指定DNS服务器IP地址
listen 443;
location / {
proxy_pass https://$host$request_uri; #设定代理服务器的协议和地址
proxy_buffers 256 4k;
proxy_max_temp_file_size 0k;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_next_upstream error timeout invalid_header http_502;
}
}
~
~
测试功能:
[root@jumpserver ~]# curl -I –proxy 10.100.7.30:80 www.baidu.com
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Thu, 05 Dec 2019 07:37:55 GMT
Content-Type: text/html
Content-Length: 3700
Last-Modified: Tue, 06 Mar 2018 09:26:21 GMT
Connection: keep-alive
ETag: “5a9e5ebd-e74”
Accept-Ranges: bytes
反向代理:
客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,然后再返回到客户端。
此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器 IP 地址。
步骤1、在nginx.conf配置内引用conf.d文件夹下的配置文件
cat /etc/nginx/nginx.conf
include /etc/nginx/conf.d/*.conf;
步骤2、在/etc/nginx/conf.d/*.conf 内新增代理转发
cat /etc/nginx/conf.d/tools.etransfar.com.conf
upstream mytomcat{
server 10.100.7.31:80 weight=1;
server 10.100.7.32:80 weight=1;
}
server {
listen 80 default_server;
server_name test.xxx.com;
if ($host ~* test.xxx.com) {
rewrite ^(.*)$ https://$host$1 permanent; #强制跳转https
}
}
server {
listen 443;
server_name test.xxx.com;
ssl on;
ssl_certificate /etc/nginx/ssl/xxx.com.cer; # 公钥文件(Globalsign 颁发的证书)
ssl_certificate_key /etc/nginx/ssl/xxx.com.key; # 私钥文件
location / {
proxy_pass http://mytomcat;
}
}