我将我的python3 django文件发送到数字海洋服务器并获得502错误的网关错误。我尝试了stackoverflow中其他地方给出的所有提示但没有工作。我相信我的settings.py有问题。具体如下,请告诉我您的建议:
ALLOWED_HOSTS = ['*']
# Find out what the IP addresses are at run time
# This is necessary because otherwise Gunicorn will reject the connections
def ip_addresses():
ip_list = []
for interface in netifaces.interfaces():
addrs = netifaces.ifaddresses(interface)
for x in (netifaces.AF_INET, netifaces.AF_INET6):
if x in addrs:
ip_list.append(addrs[x][0]['addr'])
return ip_list
# Discover our IP address
ALLOWED_HOSTS += ip_addresses()
答案 0 :(得分:0)
即使代码中存在错误,有时也会出现错误网关错误。这可能是由于python版本。数字海洋使用2.7而不是3.6。你必须将Django升级到1.11。 确保\ home \ django_project \ django_project中的目录都很好。
答案 1 :(得分:0)
早上好,
我在settings.py中的解决方案是:
ALLOWEDHOSTS = ['domainname', 'droplet_IP']
并添加settings.py
的底部变化:
ALLOWEDHOSTS = ipaddresses()
到
ALLOWEDHOSTS += ipaddresses()
工作于18年2月。