使用的是docker-compose一键拉起的,保存配置是500错误,response如下:
RequestException at /siteapi/oneid/config/
[38f6aa1c-52df-11ea-ab4d-0242ac120005]request sign failed. No PEM start marker "b'-----BEGIN RSA PRIVATE KEY-----'" found
Request Method: PATCH
Request URL: http://10.10.10.76/siteapi/oneid/config/
Django Version: 2.0.13
Python Executable: /usr/local/bin/uwsgi
Python Version: 3.6.9
Python Path: ['.', '', '/usr/local/lib/python36.zip', '/usr/local/lib/python3.6', '/usr/local/lib/python3.6/lib-dynload', '/usr/local/lib/python3.6/site-packages', '/var/oneid']
Server time: 星期三, 19 二月 2020 14:15:27 +0800
Installed Applications:
['django.contrib.admin',
'django.contrib.auth',
'django.contrib.contenttypes',
'django.contrib.sessions',
'django.contrib.messages',
'django.contrib.staticfiles',
'django.contrib.sites',
'django_celery_results',
'django_celery_beat',
'corsheaders',
'rest_framework',
'rest_framework.authtoken',
'drf_expiring_authtoken',
'coreapi',
'tasksapp',
'siteadmin',
'siteapi',
'oneid_meta',
'oauth2_provider',
'infrastructure',
'captcha',
'ldap.sql_backend']
Installed Middleware:
['corsheaders.middleware.CorsMiddleware',
'django.middleware.security.SecurityMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.common.CommonMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'common.django.middleware.CrequestMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
'django.middleware.locale.LocaleMiddleware']
Traceback:
File "/usr/local/lib/python3.6/site-packages/alipay/aop/api/DefaultAlipayClient.py" in __prepare_request_params
125. sign = sign_with_rsa2(self.__config.app_private_key, sign_content, self.__config.charset)
File "/usr/local/lib/python3.6/site-packages/alipay/aop/api/util/SignatureUtils.py" in sign_with_rsa2
49. signature = rsa.sign(sign_content, rsa.PrivateKey.load_pkcs1(private_key, format='PEM'), 'SHA-256')
File "/usr/local/lib/python3.6/site-packages/rsa/key.py" in load_pkcs1
118. return method(keyfile)
File "/usr/local/lib/python3.6/site-packages/rsa/key.py" in _load_pkcs1_pem
559. der = rsa.pem.load_pem(keyfile, b'RSA PRIVATE KEY')
File "/usr/local/lib/python3.6/site-packages/rsa/pem.py" in load_pem
92. raise ValueError('No PEM start marker "%s" found' % pem_start)
During handling of the above exception (No PEM start marker "b'-----BEGIN RSA PRIVATE KEY-----'" found), another exception occurred:
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/exception.py" in inner
35. response = get_response(request)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
128. response = self.process_exception_by_middleware(e, request)
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py" in _get_response
126. response = wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.6/site-packages/django/views/decorators/csrf.py" in wrapped_view
54. return view_func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/views/generic/base.py" in view
69. return self.dispatch(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
497. response = self.handle_exception(exc)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in handle_exception
457. self.raise_uncaught_exception(exc)
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in raise_uncaught_exception
468. raise exc
File "/usr/local/lib/python3.6/site-packages/rest_framework/views.py" in dispatch
494. response = handler(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/generics.py" in patch
258. return self.partial_update(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/mixins.py" in partial_update
82. return self.update(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/rest_framework/mixins.py" in update
68. self.perform_update(serializer)
File "./siteapi/v1/views/config.py" in perform_update
45. super().perform_update(serializer) # pylint: disable=no-member
File "/usr/local/lib/python3.6/site-packages/rest_framework/mixins.py" in perform_update
78. serializer.save()
File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py" in save
208. self.instance = self.update(self.instance, validated_data)
File "/usr/local/lib/python3.6/contextlib.py" in inner
52. return func(*args, **kwds)
File "./siteapi/v1/serializers/config.py" in update
278. serializer.save()
File "/usr/local/lib/python3.6/site-packages/rest_framework/serializers.py" in save
208. self.instance = self.update(self.instance, validated_data)
File "./siteapi/v1/serializers/qr_app_config.py" in update
195. instance.qr_app_valid = self.validate_qr_app_config(instance)
File "./siteapi/v1/serializers/qr_app_config.py" in validate_qr_app_config
207. is_valid = instance.check_valid()
File "./oneid_meta/models/config.py" in check_valid
373. alipay_public_key=self.alipay_public_key).check_config_valid()
File "./thirdparty_data_sdk/alipay_api/alipay_oauth_manager.py" in check_config_valid
38. alipay_public_key=self.alipay_public_key)
File "./thirdparty_data_sdk/alipay_api/alipay_user_id_sdk.py" in check_valid
98. alipay_public_key=alipay_public_key)
File "./thirdparty_data_sdk/alipay_api/alipay_user_id_sdk.py" in get_alipay_oauth_token_response
82. response_content = client.execute(request)
File "/usr/local/lib/python3.6/site-packages/alipay/aop/api/DefaultAlipayClient.py" in execute
212. query_string, params = self.__prepare_request(request)
File "/usr/local/lib/python3.6/site-packages/alipay/aop/api/DefaultAlipayClient.py" in __prepare_request
89. common_params, params = self.__prepare_request_params(request)
File "/usr/local/lib/python3.6/site-packages/alipay/aop/api/DefaultAlipayClient.py" in __prepare_request_params
129. raise RequestException('[' + THREAD_LOCAL.uuid + ']request sign failed. ' + str(e))
Exception Type: RequestException at /siteapi/oneid/config/
Exception Value: [38f6aa1c-52df-11ea-ab4d-0242ac120005]request sign failed. No PEM start marker "b'-----BEGIN RSA PRIVATE KEY-----'" found
Request information:
USER: User: admin(admin)
GET: No GET data
POST: No POST data
FILES: No FILES data
COOKIES: No cookie data
META:
CONTENT_LENGTH = '590'
CONTENT_TYPE = 'application/json;charset=UTF-8'
HTTP_ACCEPT = 'application/json, text/plain, /'
HTTP_ACCEPT_ENCODING = 'gzip, deflate'
HTTP_ACCEPT_LANGUAGE = 'zh-CN,zh;q=0.9,en;q=0.8,zh-TW;q=0.7'
HTTP_ARKER = 'portal'
HTTP_AUTHORIZATION = 'token 0e347bc0481a68f02a5904a9d84269523e93d6b6'
HTTP_CACHE_CONTROL = 'no-cache'
HTTP_CONNECTION = 'close'
HTTP_DNT = '1'
HTTP_HOST = '10.10.10.76'
HTTP_ORIGIN = 'http://10.10.10.76'
HTTP_PRAGMA = 'no-cache'
HTTP_REFERER = 'http://10.10.10.76/'
HTTP_USER_AGENT = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/79.0.3945.130 Safari/537.36'
HTTP_X_FORWARDED_FOR = '192.168.111.58'
HTTP_X_REAL_IP = '192.168.111.58'
HTTP_X_REQUESTED_WITH = 'XMLHttpRequest'
PATH_INFO = '/siteapi/oneid/config/'
QUERY_STRING = ''
REMOTE_ADDR = '172.18.0.6'
REMOTE_PORT = '4787'
REQUEST_METHOD = 'PATCH'
REQUEST_URI = '/siteapi/oneid/config/'
SCRIPT_NAME = ''
SERVER_NAME = '2d6a6ee0ba35'
SERVER_PORT = '80'
SERVER_PROTOCOL = 'HTTP/1.0'
UWSGI_ROUTER = 'http'
uwsgi.node = b'2d6a6ee0ba35'
uwsgi.version = b'2.0.18'
wsgi.errors = <_io.TextIOWrapper name=2 mode='w' encoding='UTF-8'>
wsgi.file_wrapper = ''
wsgi.input = <uwsgi._Input object at 0x7fde1ff69f90>
wsgi.multiprocess = True
wsgi.multithread = False
wsgi.run_once = False
wsgi.url_scheme = 'http'
wsgi.version = '(1, 0)'
Settings:
Using settings module oneid.settings
ABSOLUTE_URL_OVERRIDES = {}
ACTIVE_USER_DATA_LIFEDAY = 30
ACTIVE_USER_REDIS_KEY_PREFIX = ''
ADMINS = []
ALLOWED_HOSTS = ['*']
APPEND_SLASH = True
AUTHENTICATION_BACKENDS = "('rules.permissions.ObjectPermissionBackend', 'django.contrib.auth.backends.ModelBackend', 'oneid.auth_backend.OneIDBasicAuthBackend')"
AUTH_PASSWORD_VALIDATORS = ''
AUTH_USER_MODEL = 'auth.User'
BASE_DIR = '/var/oneid'
BASE_URL = 'http://arkid.mockuai.net'
CACHES = {'default': {'BACKEND': 'django_redis.cache.RedisCache', 'LOCATION': 'redis://arkid-redis:6379/0', 'TIMEOUT': 259200, 'OPTIONS': {'MAX_ENTRIES': None, 'CLIENT_CLASS': 'django_redis.client.DefaultClient'}}}
CACHE_MIDDLEWARE_ALIAS = 'default'
CACHE_MIDDLEWARE_KEY_PREFIX = ''
CACHE_MIDDLEWARE_SECONDS = 600
CELERY_BEAT_SCHEDULER = 'django_celery_beat.schedulers:DatabaseScheduler'
CELERY_BROKER_URL = 'redis://arkid-redis:6379/0'
CELERY_RESULT_BACKEND = 'django-db'
CELERY_TASK_DEFAULT_QUEUE = 'default'
CELERY_TASK_QUEUES = [<unbound Queue default -> <unbound Exchange default(direct)> -> default>, <unbound Queue perm -> <unbound Exchange perm(direct)> -> perm>, <unbound Queue dept -> <unbound Exchange dept(direct)> -> dept>, <unbound Queue group -> <unbound Exchange group(direct)> -> group>, <unbound Queue sql_ldap -> <unbound Exchange sql_ldap(direct)> -> sql_ldap>]
CORS_ALLOW_CREDENTIALS = True
CORS_ALLOW_METHODS = "('GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'OPTIONS')"
CORS_ORIGIN_ALLOW_ALL = True
CORS_ORIGIN_WHITELIST = "('*',)"
CREDIBLE_ARKERS = ['oneid_broker', 'arkbe_broker', 'noah', 'wfe', 'msghub', 'oauth']
CSRF_COOKIE_AGE = 31449600
CSRF_COOKIE_DOMAIN = None
CSRF_COOKIE_HTTPONLY = False
CSRF_COOKIE_NAME = 'csrftoken'
CSRF_COOKIE_PATH = '/'
CSRF_COOKIE_SECURE = False
CSRF_FAILURE_VIEW = 'django.views.csrf.csrf_failure'
CSRF_HEADER_NAME = 'HTTP_X_CSRFTOKEN'
CSRF_TRUSTED_ORIGINS = []
CSRF_USE_SESSIONS = False
DATABASES = {'default': {'ENGINE': 'django.db.backends.mysql', 'NAME': 'arkid', 'USER': 'root', 'PASSWORD': '', 'HOST': 'arkid-db', 'PORT': '3306', 'OPTIONS': {'autocommit': True, 'init_command': 'SET default_storage_engine=MyISAM'}, 'ATOMIC_REQUESTS': False, 'AUTOCOMMIT': True, 'CONN_MAX_AGE': 0, 'TIME_ZONE': None, 'TEST': {'CHARSET': None, 'COLLATION': None, 'NAME': None, 'MIRROR': None}}}
DATABASE_ROUTERS = []
DATA_UPLOAD_MAX_MEMORY_SIZE = 2621440
DATA_UPLOAD_MAX_NUMBER_FIELDS = 1000
DATETIME_FORMAT = 'N j, Y, P'
DATETIME_INPUT_FORMATS = ['%Y-%m-%d %H:%M:%S', '%Y-%m-%d %H:%M:%S.%f', '%Y-%m-%d %H:%M', '%Y-%m-%d', '%m/%d/%Y %H:%M:%S', '%m/%d/%Y %H:%M:%S.%f', '%m/%d/%Y %H:%M', '%m/%d/%Y', '%m/%d/%y %H:%M:%S', '%m/%d/%y %H:%M:%S.%f', '%m/%d/%y %H:%M', '%m/%d/%y']
DATE_FORMAT = 'N j, Y'
DATE_INPUT_FORMATS = ['%Y-%m-%d', '%m/%d/%Y', '%m/%d/%y', '%b %d %Y', '%b %d, %Y', '%d %b %Y', '%d %b, %Y', '%B %d %Y', '%B %d, %Y', '%d %B %Y', '%d %B, %Y']
DEBUG = True
DEBUG_PROPAGATE_EXCEPTIONS = False
DECIMAL_SEPARATOR = '.'
DEFAULT_CHARSET = 'utf-8'
DEFAULT_CONTENT_TYPE = 'text/html'
DEFAULT_EXCEPTION_REPORTER_FILTER = 'django.views.debug.SafeExceptionReporterFilter'
DEFAULT_FILE_STORAGE = 'django.core.files.storage.FileSystemStorage'
DEFAULT_FROM_EMAIL = 'webmaster@localhost'
DEFAULT_INDEX_TABLESPACE = ''
DEFAULT_TABLESPACE = ''
DISALLOWED_USER_AGENTS = []
DOWNLOAD_URL = '/static/download'
EMAIL_BACKEND = 'django.core.mail.backends.smtp.EmailBackend'
EMAIL_HOST = 'localhost'
EMAIL_HOST_PASSWORD = ''
EMAIL_HOST_USER = ''
EMAIL_PORT = 25
EMAIL_SSL_CERTFILE = None
EMAIL_SSL_KEYFILE = ''
EMAIL_SUBJECT_PREFIX = '[Django] '
EMAIL_TIMEOUT = None
EMAIL_USE_LOCALTIME = False
EMAIL_USE_SSL = False
EMAIL_USE_TLS = False
EXECUTERS = ['executer.RDB.RDBExecuter', 'executer.log.rdb.RDBLogExecuter', 'executer.cache.default.CacheExecuter']
EXECUTER_WIP = False
FE_EMAIL_ACTIVATE_USER_URL = '/oneid#/oneid/activate'
FE_EMAIL_REGISTER_URL = '/oneid#/oneid/signup'
FE_EMAIL_RESET_PWD_URL = '/oneid#/oneid/password'
FE_EMAIL_UPDATE_EMAIL_URL = '/oneid/#/reset_email_callback'
FE_TOKEN_URL = ''
FILE_CHARSET = 'utf-8'
FILE_UPLOAD_DIRECTORY_PERMISSIONS = None
FILE_UPLOAD_HANDLERS = ['django.core.files.uploadhandler.MemoryFileUploadHandler', 'django.core.files.uploadhandler.TemporaryFileUploadHandler']
FILE_UPLOAD_MAX_MEMORY_SIZE = 2621440
FILE_UPLOAD_PERMISSIONS = None
FILE_UPLOAD_TEMP_DIR = None
FIRST_DAY_OF_WEEK = 0
FIXTURE_DIRS = []
FORCE_SCRIPT_NAME = None
FORMAT_MODULE_PATH = None
FORM_RENDERER = 'django.forms.renderers.DjangoTemplates'
IGNORABLE_404_URLS = []
INSTALLED_APPS = ['django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', 'django.contrib.sessions', 'django.contrib.messages', 'django.contrib.staticfiles', 'django.contrib.sites', 'django_celery_results', 'django_celery_beat', 'corsheaders', 'rest_framework', 'rest_framework.authtoken', 'drf_expiring_authtoken', 'coreapi', 'tasksapp', 'siteadmin', 'siteapi', 'oneid_meta', 'oauth2_provider', 'infrastructure', 'captcha', 'ldap.sql_backend']
INTERNAL_IPS = []
LANGUAGES = "(('en', 'English'), ('zh-hans', '中文简体'), ('zh-hant', '中文繁體'))"
LANGUAGES_BIDI = ['he', 'ar', 'fa', 'ur']
LANGUAGE_CODE = 'zh_hans'
LANGUAGE_COOKIE_AGE = None
LANGUAGE_COOKIE_DOMAIN = None
LANGUAGE_COOKIE_NAME = 'django_language'
LANGUAGE_COOKIE_PATH = '/'
LDAP_BASE = 'dc=example,dc=org'
LDAP_CLUSTER_ADDR = ''
LDAP_DEPT_BASE = 'ou=dept,dc=example,dc=org'
LDAP_GROUP_BASE = 'cn=intra,ou=group,dc=example,dc=org'
LDAP_PASSWORD = ''
LDAP_SERVER = 'ldap://localhost'
LDAP_USER = 'cn=admin,dc=example,dc=org'
LDAP_USER_BASE = 'ou=people,dc=example,dc=org'
LOCALE_PATHS = ['/var/oneid/locale']
LOGGING = {'version': 1, 'disable_existing_loggers': False, 'handlers': {'console': {'class': 'logging.StreamHandler'}}, 'loggers': {'django': {'handlers': ['console'], 'level': 'INFO'}}}
LOGGING_CONFIG = 'logging.config.dictConfig'
LOGIN_REDIRECT_URL = '/accounts/profile/'
LOGIN_URL = '/#/oneid/login'
LOGOUT_REDIRECT_URL = None
MANAGERS = []
MEDIA_ROOT = ''
MEDIA_URL = ''
MESSAGE_STORAGE = 'django.contrib.messages.storage.fallback.FallbackStorage'
MIDDLEWARE = ['corsheaders.middleware.CorsMiddleware', 'django.middleware.security.SecurityMiddleware', 'django.contrib.sessions.middleware.SessionMiddleware', 'django.middleware.common.CommonMiddleware', 'django.middleware.csrf.CsrfViewMiddleware', 'common.django.middleware.CrequestMiddleware', 'django.contrib.auth.middleware.AuthenticationMiddleware', 'django.contrib.messages.middleware.MessageMiddleware', 'django.middleware.clickjacking.XFrameOptionsMiddleware', 'django.middleware.locale.LocaleMiddleware']
MIGRATION_MODULES = {}
MINIO_ACCESS_KEY = ''
MINIO_BUCKET = 'oneid'
MINIO_ENDPOINT = 'localhost:9000'
MINIO_LOCATION = 'us-east-1'
MINIO_SECRET_KEY = ''
MINIO_SECURE = True
MONTH_DAY_FORMAT = 'F j'
NUMBER_GROUPING = 0
PASSWORD_ENCRYPTION = ''
PASSWORD_HASHERS = ''
PASSWORD_RESET_TIMEOUT_DAYS = ''
PREPEND_WWW = False
PRIVATE_IP = '127.0.0.1'
PUBLIC_IP = ''
REDIS_CONFIG = {'HOST': 'arkid-redis', 'PORT': 6379, 'DB': 0, 'PASSWORD': ''}
REDIS_URL = 'redis://arkid-redis:6379/0'
REST_FRAMEWORK = {'DEFAULT_AUTHENTICATION_CLASSES': ('oneid.authentication.CustomExpiringTokenAuthentication', 'oneid.authentication.HeaderArkerBaseAuthentication'), 'DEFAULT_PERMISSION_CLASSES': ('rest_framework.permissions.IsAuthenticated', 'oneid.permissions.IsAdminUser')}
ROOT_URLCONF = 'oneid.urls'
SECRET_KEY = '********************'
SECURE_BROWSER_XSS_FILTER = False
SECURE_CONTENT_TYPE_NOSNIFF = False
SECURE_HSTS_INCLUDE_SUBDOMAINS = False
SECURE_HSTS_PRELOAD = False
SECURE_HSTS_SECONDS = 0
SECURE_PROXY_SSL_HEADER = None
SECURE_REDIRECT_EXEMPT = []
SECURE_SSL_HOST = None
SECURE_SSL_REDIRECT = False
SERVER_EMAIL = 'root@localhost'
SESSION_CACHE_ALIAS = 'default'
SESSION_COOKIE_AGE = 1209600
SESSION_COOKIE_DOMAIN = None
SESSION_COOKIE_HTTPONLY = True
SESSION_COOKIE_NAME = 'sessionid'
SESSION_COOKIE_PATH = '/'
SESSION_COOKIE_SECURE = False
SESSION_ENGINE = 'django.contrib.sessions.backends.db'
SESSION_EXPIRE_AT_BROWSER_CLOSE = False
SESSION_FILE_PATH = None
SESSION_SAVE_EVERY_REQUEST = False
SESSION_SERIALIZER = 'django.contrib.sessions.serializers.JSONSerializer'
SETTINGS_MODULE = 'oneid.settings'
SHORT_DATETIME_FORMAT = 'm/d/Y P'
SHORT_DATE_FORMAT = 'm/d/Y'
SIGNING_BACKEND = 'django.core.signing.TimestampSigner'
SILENCED_SYSTEM_CHECKS = []
SITE_ID = 1
SITE_META = 'native'
SMS_LIFESPAN = datetime.timedelta(0, 120)
STATICFILES_DIRS = ['/var/oneid/static']
STATICFILES_FINDERS = ['django.contrib.staticfiles.finders.FileSystemFinder', 'django.contrib.staticfiles.finders.AppDirectoriesFinder']
STATICFILES_STORAGE = 'django.contrib.staticfiles.storage.StaticFilesStorage'
STATIC_ROOT = '/var/oneid/staticfiles'
STATIC_URL = '/static/'
TEMPLATES = [{'BACKEND': 'django.template.backends.django.DjangoTemplates', 'DIRS': ['/var/oneid/infrastructure/templates'], 'APP_DIRS': True, 'OPTIONS': {'context_processors': ['django.template.context_processors.debug', 'django.template.context_processors.request', 'django.contrib.auth.context_processors.auth', 'django.contrib.messages.context_processors.messages']}}]
TEMPLATE_CONTEXT_PROCESSORS = ['django.core.context_processors.i18n']
TESTING = False
TEST_NON_SERIALIZED_APPS = []
TEST_RUNNER = 'django.test.runner.DiscoverRunner'
THOUSAND_SEPARATOR = ','
TIME_FORMAT = 'P'
TIME_INPUT_FORMATS = ['%H:%M:%S', '%H:%M:%S.%f', '%H:%M']
TIME_ZONE = 'Asia/Shanghai'
UPLOADFILES_PATH = '/var/oneid/upload/'
UPLOAD_DIR = '/var/oneid/static/upload'
USE_ETAGS = False
USE_I18N = True
USE_L10N = True
USE_THOUSAND_SEPARATOR = False
USE_TZ = True
USE_X_FORWARDED_HOST = False
USE_X_FORWARDED_PORT = False
WSGI_APPLICATION = 'oneid.wsgi.application'
X_FRAME_OPTIONS = 'SAMEORIGIN'
YEAR_MONTH_FORMAT = 'F Y'
You're seeing this error because you have DEBUG = True in your
Django settings file. Change that to False, and Django will
display a standard page generated by the handler for this status code.
点击开始同步,返回的result是:
{"result":"{"exc_type": "ImportError", "exc_message": ["cannot import name 'DINGDING_APP_VERSION'"], "exc_module": "builtins"}","status":3,"status_raw":"FAILURE"}
希望能得到解答,谢谢