我面临着nginx配置的一个奇怪问题。
一切正常。但是如果我改变location指令的值(同时保持一切完全相同),它就会失败。
以下配置有效:
#! /usr/bin/env python
# Importing connector
import mysql.connector
conn = None
#Opening a connection
try:
conn = mysql.connector.Connect(host="localhost", user="root",password="Karimanzira1978!", database="classicmodels")
print("Connected to MySQL!")
except Exception as ex:
print ("cannot connect to MySQL : exception : " + str(ex))
# Setting a cursor
cursor1 = conn.cursor()
cursor2= conn.cursor()
c = conn.cursor()
cursor1.execute("SELECT sum(amount), sum(amount *.99) as discounted_amount, paymentDate from payments where paymentDate >= '2003-12-01' AND paymentDate <='2003-12-31'")
print(cursor2.fetchall())
cursor2.execute("SELECT sum(amount), sum(amount *.99) as discounted_amount, paymentDate from payments where paymentDate >= '2004-12-01' AND paymentDate <='2004-12-31'")
print(cursor2.fetchall())
conn.commit()
conn.close
但不是这样:
location ~ ^/v1/works/(.*)$ {
...
...
}
我收到此错误日志:
location ~ ^/v1/doesnotwork/(.*)$ {
...
...
}
似乎某些规则允许使用特定的单词(&#34;在此示例中起作用#34;)但是禁止使用另一个单词(&#34;在这个例子中没有工作&#34;)用于位置指令。
可能是什么原因?一般nginx配置的哪一部分或者proxy_pass配置特别可以使这样的规则成为可能?
答案 0 :(得分:0)
我已经解决了这个问题。
原因是同一域的服务器块多次出现。
原作者首先尝试使用测试环境中的一些服务以及其他一些来自prod的服务。经过测试,最后纠正了服务器。但他忘记将两个街区合并为一个。
服务器域的重新出现以及某些位置指令的重新出现导致了这个问题。
在将所有这些位置合并到单个服务器块时,问题得到了解决。