我在理解如何重新配置初始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上的反向代理,confluence是端口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>
发布于 2016-12-31 17:33:15
我差一点就到了!这样做-
<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的网址并获得该网站。
发布于 2019-09-06 10:05:09
实际上,您应该在Apache conf中更改此设置。你可以像这样搜索它:
grep -rE "\b80\b" /etc/apache2
您将获得要更改的位置列表。这很可能是像Listen 80
和<VirtualHost *:80>
这样的东西。
请注意,原始zabbix配置没有任何端口配置。
因此,在更改您需要的内容之后,您应该重新启动apache,并确保它正在运行:
service apache2 restart
service apache2 status
URL
还要注意,在VirtualHost
中不需要ServerName
。Zabbix将仅“劫持”"zabbix“文件夹,并且仅在apache正在侦听的特定端口上进行”劫持“。因此,如果您将80更改为8081,您应该会看到zabbix在上运行:
http://localhost:8081/zabbix/
如果你的机器可以从像zabbix.domain.com
这样的外部域访问,那么这将会很好地工作:
http://zabbix.domain.com:8081/zabbix/
https://stackoverflow.com/questions/41409606
复制相似问题