
저는 RHEL 5.4를 사용하고 있으며장고PostgreSQL을 데이터베이스로 사용하는 프로젝트(이전에 MySQL을 사용했지만 새로운 것을 시도하고 싶습니다 :)). Django 테스트 서버를 실행하면 모든 것이 작동하고 비밀번호 인증을 사용하여 명령줄을 통해 연결할 수도 있습니다.
psql -U myuser -h 127.0.0.1
하지만 Apache를 통해 내 프로젝트에 액세스하려고 하면 Apache의 오류 로그에 500 오류 코드와 다음 Python 추적이 표시됩니다.
mod_wsgi (pid=7026): Exception occurred processing WSGI script '/var/www/myproject/myproject/hook.wsgi'.
Traceback (most recent call last):
File "/var/www/myproject/myproject/src/django/django/core/handlers/wsgi.py", line 245, in __call__
response = middleware_method(request, response)
File "/var/www/myproject/myproject/src/django/django/contrib/sessions/middleware.py", line 36, in process_response
request.session.save()
File "/var/www/myproject/myproject/src/django/django/contrib/sessions/backends/db.py", line 55, in save
obj = Session(
File "/var/www/myproject/myproject/src/django/django/contrib/sessions/backends/base.py", line 152, in _get_session_key
self._session_key = self._get_new_session_key()
File "/var/www/myproject/myproject/src/django/django/contrib/sessions/backends/base.py", line 144, in _get_new_session_key
if not self.exists(session_key):
File "/var/www/myproject/myproject/src/django/django/contrib/sessions/backends/db.py", line 29, in exists
Session.objects.get(session_key=session_key)
File "/var/www/myproject/myproject/src/django/django/db/models/manager.py", line 132, in get
return self.get_query_set().get(*args, **kwargs)
File "/var/www/myproject/myproject/src/django/django/db/models/query.py", line 336, in get
num = len(clone)
File "/var/www/myproject/myproject/src/django/django/db/models/query.py", line 81, in __len__
self._result_cache = list(self.iterator())
File "/var/www/myproject/myproject/src/django/django/db/models/query.py", line 269, in iterator
for row in compiler.results_iter():
File "/var/www/myproject/myproject/src/django/django/db/models/sql/compiler.py", line 672, in results_iter
for rows in self.execute_sql(MULTI):
File "/var/www/myproject/myproject/src/django/django/db/models/sql/compiler.py", line 726, in execute_sql
cursor = self.connection.cursor()
File "/var/www/myproject/myproject/src/django/django/db/backends/__init__.py", line 75, in cursor
cursor = self._cursor()
File "/var/www/myproject/myproject/src/django/django/db/backends/postgresql_psycopg2/base.py", line 136, in _cursor
self.connection = Database.connect(**conn_params)
OperationalError: could not connect to server: Permission denied
\tIs the server running on host "127.0.0.1" and accepting
\tTCP/IP connections on port 5432?
사전 을 확인해 보니 conn_params
올바른 사용자 이름과 비밀번호가 포함되어 있습니다. 내 pg_hba.conf
모습은 다음과 같습니다(모든 것이 원활하게 작동하는 Ubuntu 9.04 서버에서 동일한 구성을 사용합니다).
local all postgres ident
local all all md5
host all all 127.0.0.1/32 md5
host all all ::1/128 md5
내가 도대체 뭘 잘못하고있는 겁니까?
답변1
일반적인 실수 중 하나는 비밀번호를 일반 텍스트로 지정하는 것입니다.pg_hba.conf구성은 md5로 제공되어야 합니다.
구성 파일의 비밀번호를 md5로 업데이트하고 다시 시도하세요. 다음과 같은 MD5 생성기를 사용할 수 있습니다.이 하나.