题记
需要使用nginx的反向代理功能,测试环境为centos+NGINX 1.8.0.
跳过一些繁琐的问题,直接记录核心步骤(1)centos 安装在VM中,因此需要注意网络连接问题(2)安装nginx使用的是具有网络的yum功能(3)配置centos防火墙,需要开启80 端口(4)nginx 反向代理配置(5)性能优化设置(后续工作…)实现
一. yum安装nginx 先添加nginx源,测试使用最新的nginx 1.8.0
rpm -ivh
执行命令:
yum install nginxservice nginx start
如果不出意外,在浏览器输入 127.0.0.1:80,即可看到nginx的欢迎界面。
二.查看nginx的配置
rpm -ql nginx此命令可以查看nginx的配置信息
三. 关闭firewall并配置iptables
centos默认使用firewall配置端口和网络,但是现在网上资料多是使用iptables,鉴于资料充分的原因,改用iptalbes。
使用iptables和ip6tables的静态防火墙规则 如果你想使用自己的 iptables 和 ip6tables 静态防火墙规则, 那么请安装 iptables-services 并且禁用 firewalld ,启用 iptables 和ip6tables:
yum install iptables-servicessystemctl mask firewalld.servicesystemctl enable iptables.servicesystemctl enable ip6tables.service
启用iptables后,就需要进行端口和访问规则的设置了。
(1)编辑 /etc/sysconfig/iptables(2)清空规则(3)添加需要的规则
示例:
# 允许已建立的或相关连的通行 -A INPUT -m state –state ESTABLISHED,RELATED -j ACCEPT #允许本地回环接口 -A INPUT -s 127.0.0.1 -d 127.0.0.1 -j ACCEPT #允许本机对外访问 -A OUTPUT -j ACCEPT # 允许访问SSH端口,如果端口修改了可以更改相应端口号 -A INPUT -p tcp –dport 22 -j ACCEPT #允许访问80(HTTP)端口 -A INPUT -p tcp –dport 80 -j ACCEPT #允许访问FTP端口:21、20 -A INPUT -p tcp –dport 21 -j ACCEPT -A INPUT -p tcp –dport 20 -j ACCEPT #允许访问161(SNMP)端口: -A INPUT -p udp –dport 161 -j ACCEPT
基于以上配置,在局域网内可以相互访问网站。
四. 配置nginx的反向代理功能
本次只是使用反向代理功能,因此nginx的负载均衡功能就不涉及。
反向代理功能使用的是proxy_pass和sub_filter模块
location / {proxy_pass 需要代理的IP;#Proxy Settingsproxy_redirectoff;proxy_set_header Host$host;proxy_set_header X-Real-IP$remote_addr;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_forproxy_max_temp_file_size 0;proxy_connect_timeout90;proxy_send_timeout90;proxy_read_timeout90;proxy_buffer_size4k;proxy_buffers4 32k;proxy_busy_buffers_size 64k;proxy_temp_file_write_size 64k;# 做反向代理时候,出现ip地址直接跳转,,没有是使用代理IP ,是因为需要使用sub_filter.sub_filter 需要代理的IP nginx的本机服务器;sub_filter_once off;}总结:
nginx反向代理概念相对简单,而且配置也方便,接下来要进行一下压力测试,看看实际的效果。
[1] 使用iptables
[2] 配置iptables端口和规则
[3] 反向代理
[4]
[5]https://github.com/yaoweibin/ngx_http_substitutions_filter_module
[6]
这种精神使人能在旅行中和大自然更加接近,