引言:我的CDH集群放在了内网,因为挖矿病毒攻击了我的集群,所以我把它放在了内网,但是web页面也就无法访问了,所以我用另一台机子做了个反向代理就能用了。
一、注意
配置nginx的服务器一定是可以访问外网,并且和CDH的服务器是在同一局域网内。如果你是阿里云的服务器一定记得开安全组。
二、安装Nginx
直接贴一个文章照着装没有错!!!
https://www.runoob.com/linux/nginx-install-setup.html
三、配置
1、/usr/local/webserver/nginx/sbin/reverse.conf 在该目录下,创建一个配置文件,供nginx.conf 调用使用
2.我的配置文件是reverse.conf,写入如下内容
upstream monitor_server {
server ip:7180; #cdh中web页面的端口+内网ip
}
server
{
listen port; #nginx监听的端口
server_name ip:port; #cdh中web页面的端口+内网ip
location / {
proxy_redirect off;
proxy_set_header Host $host:8093;# 注意:nginx有默认的监听端口如果你改了监听端口一定要在这里以改动一下,不然他会走默认端口。
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://monitor_server;#这里的名称与你上面配置的名称一致
}
access_log /usr/local/webserver/nginx/logs/reverse.tk_access.log;#日志存放位置,你随便放
}
3、统一目录下修改nginx.conf,内容如下:
user root; #用户
worker_processes 1;
error_log /usr/local/webserver/nginx/logs/error.log;
pid logs/nginx.pid;
worker_rlimit_nofile 65535;
events {
worker_connections 65535;
}
http {
include mime.types;
default_type application/octet-stream;
include /usr/local/webserver/nginx/conf/reverse.conf;#引用你写的那个reverse文件。
sendfile on;
keepalive_timeout 65;
gzip on;
client_max_body_size 50m;
client_body_buffer_size 256k;
client_header_timeout 3m;
client_body_timeout 3m;
send_timeout 3m;
proxy_connect_timeout 300s;
proxy_read_timeout 300s;
proxy_send_timeout 300s;
proxy_buffer_size 64k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 4 32k; #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
proxy_busy_buffers_size 64k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传递请求,而不缓冲到磁盘
proxy_ignore_client_abort on; #不允许代理端主动关闭连接
server {
listen port; #监听端口
server_name ip:port; #cdh中web页面的端口+内网ip,和reverse文件中的一致。
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root html;
index index.html index.htm;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
四、这里无非就是就是reverse.conf和nginx.conf两个配置文件,nginx才是启动时走的配置文件。reverse.conf被nginx.conf引用了一下。
五、测试和启动
测试:/usr/local/webserver/nginx/sbin/nginx -t -c /usr/local/webserver/nginx/conf/nginx.conf
成功后就可以启动了!!
启动:
/usr/local/webserver/nginx/sbin/nginx -c /usr/local/webserver/nginx/conf/nginx.conf