我有以下规则:
[backends]
[backends.pma]
[backends.pma.servers.server1]
url = "http://phpmyadmin:80"
[backends.rabbitmq]
[backends.rabbitmq.servers.server1]
url = "http://rabbitmq:15672"
[frontends]
[frontends.pma]
backend = "pma"
[frontends.pma.routes.test_1]
rule = "Host:pma.example.it"
passHostHeader = true
[frontends.rabbitmq]
backend = "rabbitmq"
[frontends.rabbitmq.routes.test_1]
rule = "Host:pma.example.it;Path:/rabbitmq"
主机pma.example.it有效,我看到phpmyadmin,主机pma.example.it/rabbitmq不起作用,我有{"error":"Object Not Found","reason":"Not Found"}
。
但是,从traefik容器中,如果我键入curl http://rabbitmq:15672
,它就可以了。有什么想法吗?
答案 0 :(得分:1)
您是否可以尝试使用bin_l=np.arange(0,14,1)
bin_l=np.append(bin_l,max_bin)
plt.hist([wind_plot_o, wind_plot_m, wind_plot_b],bins=bin_l, align='mid',
label=['label1', 'label2', 'label3'],color=['k','g', 'r'])
代替bin_l
作为规则。
请注意,您的配置中有一个小错字:
PathPrefix
答案 1 :(得分:1)
两个示例中的路径不相等。当您转到pma.example.it/rabbitmq
时,RabbitMQ实例实际上正在接收rabbitmq:15672/rabbitmq
,并返回Object Not Found
错误。
您可能希望在前端规则中使用PathPrefixStrip
而不是Path
。它将在以/rabbitmq
开头的路径上匹配,并在将其传递到后端之前将其剥离。
rule = "Host:pma.example.it;PathPrefixStrip:/rabbitmq"
答案 2 :(得分:1)
PathPrefixStrip无法正常工作,因为管理控制台的主页使用剥离的URL加载静态文件,从而导致状态为404的响应。 我有类似的问题,并通过在rabbitmq.conf中设置路径前缀来解决。在您的情况下,将是:
management.path_prefix = /rabbitmq
Traefik的配置保持不变。
答案 3 :(得分:-2)
后端配置中缺少一行
[backends]
[backends.pma]
[backends.pma.servers] # <----------add this
[backends.pma.servers.server1]
url = "http://phpmyadmin:80"
(与backend.rabbitmq相同)