我无法理解如何重新配置初始zabbix.conf文件,以免劫持端口80开箱即用。
以下是应用程序提供的默认zabbix.conf:
#
# Zabbix monitoring system php web frontend
#
Alias /zabbix /usr/share/zabbix
<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
</IfModule>
</Directory>
<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/app">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/local">
Require all denied
</Directory>
我希望能够做的是配置我的zabbix,就像我在我的服务器上完成其他应用程序一样。这台服务器上实际上已有2个应用程序。 jira是端口8080上的反向代理,汇流是端口8090上的反向代理。我想在另一个端口上的反向代理上使用zabbix,比如8070。:
<VirtualHost *:80>
ServerName zabbix.domain.com
ServerAlias zabbix
Redirect / https://zabbix.domain.com
</VirtualHost>
<VirtualHost *:443>
ServerName zabbix.domain.com
ServerAlias zabbix
Include ssl/default/ssl.cfg
ProxyPass / http://localhost:8070/
ProxyPassReverse / http://localhost:8070/
</VirtualHost>
问题是这不起作用,因为Zabbix假设没有其他东西使用端口80。
执行此类操作只会显示未显示的页面
Alias /zabbix /usr/share/zabbix
<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga
</IfModule>
</Directory>
<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/app">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/local">
Require all denied
</Directory>
<VirtualHost *:80>
ServerName zabbix.domain.com
ServerAlias zabbix
Redirect / https://zabbix.domain.com
</VirtualHost>
<VirtualHost *:443>
ServerName zabbix.domain.com
ServerAlias zabbix
Include ssl/default/ssl.cfg
ProxyPass / http://localhost:80/
ProxyPassReverse / http://localhost:80/
</VirtualHost>
答案 0 :(得分:1)
我太近了!这样做 -
<VirtualHost *:80>
ServerName zabbix.domain.com
ServerAlias zabbix
Alias /zabbix /usr/share/zabbix
<Directory "/usr/share/zabbix">
Options FollowSymLinks
AllowOverride None
Require all granted
<IfModule mod_php5.c>
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
php_value date.timezone America/Toronto
</IfModule>
</Directory>
<Directory "/usr/share/zabbix/conf">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/app">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/include">
Require all denied
</Directory>
<Directory "/usr/share/zabbix/local">
Require all denied
</Directory>
</VirtualHost>
允许我点击http://zabbix.domain.com/zabbix的网址并获取该网站。
答案 1 :(得分:0)
实际上,您应该在Apache conf中进行更改。您可以像这样搜索它:
grep -rE "\b80\b" /etc/apache2
您将获得更改地点的列表。很有可能是Listen 80
和<VirtualHost *:80>
之类的东西。
请注意,原始的zabbix配置没有端口的任何配置。
因此,更改所需内容后,应重新启动apache并确保其正在运行:
service apache2 restart
service apache2 status
URL
还要注意,ServerName
中不需要VirtualHost
。 Zabbix将仅“劫持”“ zabbix”文件夹,并且仅在apache正在侦听的特定端口上。因此,如果您将80更改为8081,则应该看到zabbix正在运行:
http://localhost:8081/zabbix/
如果可以从外部域(例如zabbix.domain.com
)访问您的计算机,则可以正常工作:
http://zabbix.domain.com:8081/zabbix/