题记

须要使用nginx的反向代理功能,測试环境为centos+NGINX 1.8.0.

跳过一些繁琐的问题,直接记录核心

步骤

(1)centos 安装在VM中。因此须要注意网络连接问题
(2)安装nginx使用的是具有网络的yum功能
(3)配置centos防火墙,须要开启80 port
(4)nginx 反向代理配置
(5)性能优化设置(兴许工作...)

实现

一. yum安装nginx

先加入nginx源,測试使用最新的nginx 1.8.0

rpm -ivh  http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

运行命令:

yum install nginx
service nginx start

假设不出意外。在浏览器输入 127.0.0.1:80,就可以看到nginx的欢迎界面。

二.查看nginx的配置

rpm -ql nginx
此命令能够查看nginx的配置信息

三. 关闭firewall并配置iptables

centos默认使用firewall配置port和网络,可是如今网上资料多是使用iptables。鉴于资料充分的原因,改用iptalbes。

使用iptables和ip6tables的静态防火墙规则

假设你想使用自己的 iptables 和 ip6tables 静态防火墙规则, 那么请安装 iptables-services 并且禁用 firewalld ,启用 iptables 和ip6tables:

yum install iptables-services
systemctl mask firewalld.service
systemctl enable iptables.service
systemctl enable ip6tables.service

启用iptables后,就须要进行port和訪问规则的设置了。

(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

# 同意訪问SSHport,假设port改动了能够更改对应port号

-A INPUT -p tcp –dport 22 -j ACCEPT

#同意訪问80(HTTP)port

-A INPUT -p tcp –dport 80 -j ACCEPT

#同意訪问FTPport:21、20

-A INPUT -p tcp –dport 21 -j ACCEPT

-A INPUT -p tcp –dport 20 -j ACCEPT

#同意訪问161(SNMP)port:

-A INPUT -p udp –dport 161 -j ACCEPT


基于以上配置,在局域网内能够相互訪问站点。

四. 配置nginx的反向代理功能

本次仅仅是使用反向代理功能。因此nginx的负载均衡功能就不涉及。

反向代理功能使用的是proxy_pass和sub_filter模块

location / {
proxy_pass 须要代理的IP; #Proxy Settings
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
# 做反向代理时候,出现ip地址直接跳转,没有是使用代理IP 。是由于须要使用sub_filter.
sub_filter 须要代理的IP nginx的本机server;
sub_filter_once off;
}

总结:

nginx反向代理概念相对简单,并且配置也方便,接下来要进行一下压力測试。看看实际的效果。


[1]http://www.centoscn.com/CentOS/Intermediate/2015/0313/4879.html 使用iptables

[2]http://www.centoscn.com/CentOS/2013/0413/293.html 配置iptablesport和规则

[3]http://www.nginx.cn/927.html 反向代理

[4]http://zhaochen.blog.51cto.com/2029597/379233/

[5]https://github.com/yaoweibin/ngx_http_substitutions_filter_module

[6]http://www.xxorg.com/archives/3608

CentOS 7 安装Nginx做反向代理的更多相关文章

  1. CentOS 7 安装 Nginx 配置反向代理

    Linux使用Nginx Yum存储库上安装Nginx,适用于Red Hat Enterprise Linux和CentOS系统. 1.添加设置Nginx Yum存储库 在CentOS中首次安装Ngi ...

  2. 安装nginx 做反向代理

    nginx反向代理配置实例(前nginx+后apache)Nginx ("engine x") 是一个高性能的 HTTP 和反向代理服务器,也是一个 IMAP/POP3/SMTP ...

  3. 使用nginx做反向代理

    很多同学喜欢用nginx做反向代理访问某些网站,原因大家都懂的,今天老高记录一下如何使用nginx做反向代理以及如何配置和优化nginx的反向代理. 准备工作 首先,你需要一个稳定的国外的便宜的VPS ...

  4. 利用nginx做反向代理解决前端跨域问题

    最近朋友再群里提了一个问题,他们公司给他提供了一个获取数据的接口,在浏览器访问这个接口能获取到json数据,但是放在项目里使用ajax就产生了跨域问题,一般这个需要提供接口的后台方面需要做跨域处理,但 ...

  5. wsl 2 unbuntu 部署 asp.net core 使用 nginx 做反向代理,调试文件上传失败

    继上一篇 asp.net core 3.1多种身份验证方案,cookie和jwt混合认证授权 的公司内部项目上线后发现文件上传功能有问题. 上传的文件超过50M以后前端就报错了,没有状态返回,也没有响 ...

  6. nginx做反向代理并防盗链

    nginx做反向代理真的非常简单,只需设置location+proxy_pass即可. 防盗链配置有些复杂,需要注意的地方: 在防盗链的location中需要再设置一下proxy_pass(在这里走了 ...

  7. 用nginx做反向代理来访问防外链图片

    用nginx做反向代理来访问防外链图片 女儿的博客从新浪搬到wordpress后,发现原来博客上链接的新浪相册的图片都不能访问了,一年的博客内容,一个个去重新上传图片,修正链接也是个大工程.还是得先想 ...

  8. 【Nginx】使用Nginx做反向代理时,关于被代理服务器相应的超时设置

    > 参考的优秀文章 Module ngx_http_proxy_module > 设置等待被代理服务器的最大响应时间 使用Nginx做反向代理时,因被代理服务器因业务确实复杂,需时较久,往 ...

  9. Nginx做反向代理总是被系统kill

    公司使用Nginx做反向代理,以前都挺正常的,最近不知怎么回事总是无端被系统kill,而在nginx错误日志中也没有信息输出. 网上查了很多资料,也没什么靠谱的回答,唯一觉得有点关联的就是linux ...

随机推荐

  1. bzoj1143(2718)[CTSC2008]祭祀river(最长反链)

    1143: [CTSC2008]祭祀river Time Limit: 10 Sec  Memory Limit: 162 MBSubmit: 2781  Solved: 1420[Submit][S ...

  2. codeforces——思路与规律

    codeforces 804B     http://codeforces.com/problemset/problem/804/B /* 题意:给定一个只含ab的序列,每次操作可将ab变为bba 问 ...

  3. Java IO流文件复制/解压的几种方法总结

    引言 在JavaWeb项目开发过程,涉及到IO文件的读写操作以及文件的复制copy操作是作为一个程序员不可获取的知识,那接下来就总结一些copy文件的一些方法,与大家通过学习,如果还有其他更好的方法, ...

  4. com.mysql.jdbc.exceptions.jdbc4.MySQLIntegrityConstraintViolationException: Duplicate entry 'admin' for key 'UK_dgxl7aijrr4hq8314exhw407s'

    严重: Servlet.service() for servlet [spring-mvc] in context with path [/learn] threw exception [Reques ...

  5. TCP/IP详解(二)

    首先,不得不吐槽一下中文版的翻译,把英文版的很多部分的删除了.中文版的pdf只有400多页,英文版有1000多页.迫于时间,只有先将就着看中文版,但是遇到不懂的地方,一定要对照英文版来看. 滑动窗口协 ...

  6. POJ 2945 trie树

    Find the Clones Time Limit: 5000MS Memory Limit: 65536K Total Submissions: 7704 Accepted: 2879 Descr ...

  7. 2015 多校赛 第四场 1010 (hdu 5336)

    Problem Description XYZ is playing an interesting game called "drops". It is played on a r ...

  8. mac下配置nginx

    nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器,下面我们来了解下nginx的用法. 安装nginx 使用brew安装nginx brew install ...

  9. O​r​a​c​l​e​1​1​g​自​带​的​S​Q​L​ ​d​e​v​e​l​o​p​e​r​无​法​打​开​解​决​

    在安装完Oracle Database 11g Release 2数据库,想试一下Oracle自带的SQL Developer工具,在操作系统菜单的所有程序中找到SQL Developer如下所示,并 ...

  10. An interesting scroll background------ActionScript3.0

    package { /* *@ ClassName : package::backGround *@ INTRO : the continuously scroll background *@ Aut ...