由于最近等保要求除了服务器的80和443端口打开外,其他端口建议都关闭,而装了zabbix服务端的服务器之前是用http代理zabbix客户端的,并且nginx代理的服务已经占用了80和443端口,所以之前http使用的是9000端口。


我这里一开始是想用nginx代理http服务来解决这个问题,但经过测试后发现,虽然能代理过去,但是把http的9000端口对外网访问关闭后就会访问不了;故此方法达不到要求。那么就只有把zabbix迁移到nginx,用nginx来做代理,这样就可以把外网的9000端口关闭了;下面是操作记录:
1、经检测后发现没有安装php-fpm,所以第一步先把php-fpm安装好:
[root@dxm-beta available]# rpm -qa |grep php php-cli-5.6.40-12.el6.remi.x86_64 php-ldap-5.6.40-12.el6.remi.x86_64 php-gd-5.6.40-12.el6.remi.x86_64 php-pecl-jsonc-1.3.10-2.el6.remi.5.6.x86_64 php-pdo-5.6.40-12.el6.remi.x86_64 php-pecl-zip-1.15.2-1.el6.remi.5.6.x86_64 php-5.6.40-12.el6.remi.x86_64 php-bcmath-5.6.40-12.el6.remi.x86_64 php-xml-5.6.40-12.el6.remi.x86_64 php-common-5.6.40-12.el6.remi.x86_64 php-mysqlnd-5.6.40-12.el6.remi.x86_64 php-mbstring-5.6.40-12.el6.remi.x86_64
#yum list installed | grep php --检测php已安装的包#追加CentOS 6.5的epel及remi源。 # rpm -Uvh http://ftp.iij.ad.jp/pub/linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm # rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm#使用yum list命令查看可安装的包(Packege) # yum list --enablerepo=remi --enablerepo=remi-php56 | grep php #yum源配置好了,下一步就安装PHP5.6 #yum install --enablerepo=remi --enablerepo=remi-php56 php-fpm安装完后再进行查看:

启动php-fpm#service php-fpm start
2、配置nginx:
server {
listen 80;
server_name zabbix.xxx.com;
charset utf-8;
client_max_body_size 8m;
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log error;
if ($host = 'zabbix.xxx.com') {
rewrite ^/(.*)$ https://zabbix.xxx.com/$1 permanent;
}
}
server {
listen 443 ssl;
server_name zabbix.xxx.com;
index index.php;
root /var/www/html/zabbix;
include /etc/nginx/ssl.conf;
charset utf-8;
client_max_body_size 8m;
access_log /var/log/nginx/access.log main;
error_log /var/log/nginx/error.log error;
location ~ \.php$ {
fastcgi_pass 127.0.0.1:9000;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
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;
}
}
语法检测无误后,就可更新nginx配置文件,进行访问验证是否配置正确,正确后就可关闭外网9000端口了。
