2022
我们一起努力

nginx防火墙在哪设置(nginx防火墙怎么设置)

本文目录:

  • 1、使用Nginx配置TCP负载均衡
  • 2、nginx反向代理可以配防火墙吗
  • 3、如何安装nginx
  • 4、Linux(centos7)下gitlab使用自己安装的nginx配置
  • 5、阿里云安装lnmpa
  • 6、运行中的nginx容器怎么开发端口

使用Nginx配置TCP负载均衡

Nginx是比较不错的开源Web服务器之一,但它也可以用作TCP和UDP负载均衡器。使用Nginx作为HAProxy的负载均衡器的主要好处之一是,它还可以负载均衡基于UDP的流量。在本文中,我们将演示如何将NGINX配置为Kubernetes集群中部署的应用程序的负载均衡。

假设Kubernetes集群已经配置好,我们将基于 CentOS 为Nginx创建一个虚拟机。

以下是实验种设置的详细信息:

Nginx (CenOS8 Minimal) - 192.168.1.50

Kube Master - 192.168.1.40

Kube Worker 1 - 192.168.1.41

Kube Worker 2 - 192.168.1.42

步骤1)安装epel仓库

因为nginx软件包在CentOS系统默认仓库里面没有,所以需要安装epel仓库:

[root@nginxlb ~]# dnf install epel-release -y

步骤2)安装Nginx

运行以下 命令 安装nginx:

[root@nginxlb ~]# dnf install nginx -y

使用rpm 命令 验证Nginx包的详细信息:

[root@nginxlb ~]# rpm -qi nginx

配置防火墙,允许访问nginx的http和https服务:

[root@nginxlb ~]# firewall-cmd --permanent --add-service=http

[root@nginxlb ~]# firewall-cmd --permanent --add-service=https

[root@nginxlb ~]# firewall-cmd –reload

使用以下命令将SE Linux 设置为permissive模式,并重启系统使selinux关闭生效:

[root@nginxlb ~]# sed -i s/^SELINUX=.*$/SELINUX=permissive/ /etc/selinux/config

[root@nginxlb ~]# reboot

步骤3)从Kubernetes中获取应用程序的NodePort详细信息

[kadmin@k8s-master ~]$  kubectl get all -n ingress-nginx

从上面的输出中可以看到,每个工作节点的NodePort 32760映射到端口80,NodePort 32375映射到443端口。我们将在Nginx配置文件中使用这些节点端口来做负载均衡。

步骤4)将Nginx配置负载均衡

编辑nginx配置文件,并添加以下内容:

[root@nginxlb ~]# vim /etc/nginx/nginx.conf

注释掉“server”部分(从38到57行):

并添加以下几行:

upstream backend {

  server 192.168.1.41:32760;

  server 192.168.1.42:32760;

}

server {

  listen 80;

  location / {

      proxy_read_timeout 1800;

      proxy_connect_timeout 1800;

      proxy_send_timeout 1800;

      send_timeout 1800;

      proxy_set_header        Accept-Encoding  "";

      proxy_set_header        X-Forwarded-By    $server_addr:$server_port;

      proxy_set_header        X-Forwarded-For  $remote_addr;

      proxy_set_header        X-Forwarded-Proto $scheme;

      proxy_set_header Host $host;

      proxy_set_header X-Real-IP $remote_addr;

      proxy_pass ;

  }

    location /nginx_status {

        stub_status;

    }

}

保存配置文件,并退出。

根据上述更改,所有向nginx的80端口的请求,都将被路由到的Kubernetes工作节点(192.168.1.41和192.168.1.42)的NodePort(32760)端口上。

使用以下命令启用Nginx服务:

[root@nginxlb ~]# systemctl start nginx

[root@nginxlb ~]# systemctl enable nginx

测试Nginx的 TCP负载均衡器

要测试nginx作为Kubernetes的TCP负载均衡是否工作正常,请部署基于nginx的deployment,将deployment的端口暴露为80端口,并为nginx 的deployment定义入口资源。我已经使用以下命令来部署这些Kubernetes对象:

[kadmin@k8s-master ~]$ kubectl create deployment nginx-deployment --image=nginx

deployment.apps/nginx-deployment created

[kadmin@k8s-master ~]$ kubectl expose deployments nginx-deployment  --name=nginx-deployment --type=NodePort --port=80

service/nginx-deployment exposed

运行以下命令以获取deployments,svc和ingress详细信息:

更新本地主机的hosts文件,以便nginx-lb.example.com指向nginx服务器的IP地址(192.168.1.50)

[root@localhost ~]# echo "192.168.1.50  nginx-lb.example.com" /etc/hosts

尝试通过浏览器访问nginx-lb.example.com

总结

上面证实了Nginx作为TCP负载均衡器可以正常工作,因为它可以负载平衡K8s工作节点之间端口80上的TCP通信量。

nginx反向代理可以配防火墙吗

关闭防火墙与SELinux

输入命令:

service iptables stop

setenforce 0

安装编译环境

输入命令:yum install gcc*

安装nginx

切换到nginx源码包存放位置

输入命令:

tar -zxvf nginx-1.6.2.tar.gz

./configure

make

make install

配置反向代理

输入命令:

vim /usr/local/nginx/conf/nginx.conf

找到server{***}字段,注释掉,然后自定义该字段。

示例:

server{

listen 80;

server_name 反向代理的域名或ip;

location / {

proxy_pass http://****; //代理指向的服务器

}

如何安装nginx

准备工作:1、首先要确保系统安装了g++、gcc、openssl-devel、pcre-devel和zlib-devel软件,可通过命令进行检测,如果已经安装了可以卸载

2、一般安装linux软件都会在/usr/local目录下,接着进行解压编译安装,

3、等待配置和编译完成。

4、完成后需要配置防火墙,不拦截80端口,设置完成后需要重启防火墙

5、接下来介绍下启动/停止/重启的具体方法,进入目录后我们可以用执行sbin/nginx来启动,也可以通过conf/nginx.conf来启动。

6、停止我们可以查询进程使用kill -9 进程号/pkill -9 nginx来结束nginx服务,重启可以通过 sbin/nginx -s reload来重启。

7、下面来说说基本的操作命令:

nginx -h #帮助

nginx -v #显示版本

nginx -V #显示版本和配置信息

nginx -t #测试配置

nginx -q #测试配置时,只输出错误信息

nginx -s stop #停止服务器

nginx -s reload #重新加载配置

然后配置conf文件,用来配置nginx

8、完成任务。

Linux(centos7)下gitlab使用自己安装的nginx配置

一、使用oneinStack安装lamp环境

二、安装gitlab

三、修改gitlab配置

四、配置nginx

把gitlab之前生成的http.conf复制到nginx的config目录下面的所有文件拷贝到nginx配置目录(可以把之前的nginx.conf备份一个以免不时之需)

五、防火墙配置端口

其他设置、待验证

邮件配置

汉化

阿里云安装lnmpa

官方地址:

LNMP一键安装包是一个用Linux Shell编写的可以为CentOS/RHEL/Fedora/Aliyun/Amazon、Debian/Ubuntu/Raspbian/Deepin/Mint Linux VPS或独立主机安装LNMP(Nginx/MySQL/PHP)、LNMPA(Nginx/MySQL/PHP/Apache)、LAMP(Apache/MySQL/PHP)生产环境的Shell程序。

流程就是:安装lnmp,然后再安装pureftp,开放相应的端口,对各个应用服务器进行设置。

各个应用服务器进行设置:

对pureftp进行防火墙端口设置、阿里云安全组规则端口开放,用主动模式去连接ftp。

对mysql进行防火墙端口设置、阿里云安全组规则端口开放、设置root用户可远程ip连接。

对nginx进行防火墙端口设置、远程ip连接、阿里云安全组规则端口开放。

安装过程中,我选择安装 mysql 5.7,php 5.6,Jemalloc内存分配器

一些提示操作:可以查看/usr/lnmp/README,从lnmp1.4开始,不再安装pureftp,需要自己手动安装。见下文 安装PureFtp篇 。

搭建好lnmpa后,通过外网ip访问nginx,mysql,pure-ftp等有可能因端口问题访问失败,我们需要对防火墙进行设置。包括开启防火墙、开机自动启动防火墙、开放应用服务器对应的端口;

另附firewall的其他命令操作

开放了防火墙端口还不够,还需要再阿里云安全组规则页面进行再次开放端口。

我分别开放了21、22、80、88、3306、8080端口。

1、阿里云安全组规则,开放80端口

2、阿里云安全组规则,开放80端口

安装后, -h localhost 可以访问mysql,但是 -h 公网ip 无法正常登录mysql,提示2003错误。

网上很多说法是“因为centos7系统,即使关闭 firewalld,除了22端口,其余端口无法被外界访问,本地访问正常。”但经过测试,即使关了防火墙,访问其他端口时,未在==阿里云安全组规则==配置,也会被阿里云安全组规则进行挡住而无法访问。针对该问题,需要进行下面三步操作设置。

1、打开防火墙,然后开放防火墙3306端口

2、阿里云安全组规则,开放3306端口

3、mysql授权任何ip都可以远程该mysql服务器

默认LNMP是不安装FTP服务器的,如需要FTP服务器:

我选择安装pureftpd ,当然也可以不按照pureftpd,直接使用xshell的xftp去操作。

这个ftp虚拟用户为 系统用户 下的虚拟用户。就是说,你通过ftp客户端登录后上传的文件的所有者(权限)为该系统用户。比如,将ftp用户test绑定到系统用户cjf下,那么登录ftp后,上传的服务器的文件所有者是cjf。这样就可以不用给你该系统用户的登录密码,免得你登录服务器去干其他坏事。

解决方法:更改Filezilla设置,编辑-设置-连接-FTP-被动模式,将“使用服务器的外部ip地址来代替”改为“回到主动模式”即可。 ----------就是尝试==被动模式==不行的话,就用==主动模式==去连接。

以前总使用 ftp 公网ip ,登录后操作总是提示227,按网上教程说,把 ftp passive 关闭被动模式,但还是无法正常使用,这是因为在 ftp 公网ip 会因为==ForcePassiveIP没开启==,==安全组端口没设置==而出现被动模式阻塞。相比 ftp 局部网内部ip 这种方式,更麻烦,且服务器开放了更多的端口,更加不安全。不建议这种操作。

如果你不想了解什么是主动模式、什么是被动模式的话,就记住:

关闭passive(不用操作,只是补充知识点)

主动模式和被动模式:

【内网穿透笔记】FTP映射出现227 Entering Passive Mode错误命令原因及解决方法

安装lnmpa后,可以在 /usr/local/apache/conf/httpd.conf 中看到,apache的根目录Directory也被设置到了 /home/wwwroot/deafualt,而非${apche_home}/htdocs。

在lnmpa的架构中,默认情况下,apache被用来提供访问php的服务器。

如果想让nginx反向代理,通过80端口就可以访问tomcat的项目的话,可以进行设置

vim /usr/local/nginx/conf/nginx.conf

vim tomcat-users.xml

通过putty或者SecureCRT安装lnmp时,网络突然掉线或者不小心putty被关掉等等原因,造成lnmp安装过程被中断怎么办,其实防止这种现象很简单,只要在安装lnmp前执行screen命令就可以了。

详细介绍:

screen操作演示

微信公众平台消息接口开发在线调试系统

运行中的nginx容器怎么开发端口

运行中的nginx容器开发端口,这样做:

1、在nginx.conf中添加端口;

2、重启nginx配置文件nginxsreload;

3.、psef|grepnginx查看nginx进程;

4、设置防火墙对外开放端口,firewallcmdlistall查看开放的端口号,sudofirewallcmdaddport=18081/tcppermanent开放18081端口

5、重启防火墙firewallcmdreload。

nginx防火墙在哪设置】的内容来源于互联网,如引用不当,请联系我们修改。

赞(0)
文章名称:《nginx防火墙在哪设置(nginx防火墙怎么设置)》
文章链接:https://www.fzvps.com/157053.html
本站文章来源于互联网,如有侵权,请联系管理删除,本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
图片版权归属各自创作者所有,图片水印出于防止被无耻之徒盗取劳动成果的目的。

评论 抢沙发

评论前必须登录!