如果我使用uwsgi启动应用程序,我没有看到与django.requests相关的日志.
但是,如果我在同一台机器上使用相同的代码
manage.py runserver 8080
Run Code Online (Sandbox Code Playgroud)
它完美地运作.
任何想法为什么会发生?
我通过这个命令运行uwsgi
/home/gs/python-env/bin/uwsgi --ini /etc/uwsgi.d/uwsgi.ini --static-map /static=/home/gs/api/static/
Run Code Online (Sandbox Code Playgroud)
uwsgi.ini
[uwsgi]
http-socket=:8080
home=/home/gs/python-env
chdir=/home/gs/api
module=server.wsgi
env=server.settings
processes=1
enable-threads=true
Run Code Online (Sandbox Code Playgroud)
来自settings.py的日志配置
LOGGING = {
'version': 1,
'disable_existing_loggers': True,
'formatters': {
'verbose': {
'format': '%(levelname)s %(asctime)s %(process)d %(threadName)s %(module)s %(funcName)s %(message)s'
}
},
'handlers': {
'console': {
'class': 'logging.StreamHandler',
},
'file': {
'level': 'DEBUG',
'class': 'logging.handlers.RotatingFileHandler',
'filename': '/var/log/gs/api.log',
'formatter': 'verbose',
'maxBytes': 1024 * 1024 * 16, # 16Mb
},
'elasticsearch': {
'level': 'DEBUG',
'class': 'api.common.elasticsearch_log_handler.ElasticSearchHandler',
'hosts': [{'host': cluster.ES_HOST, 'port': …Run Code Online (Sandbox Code Playgroud) 我在 AWS VPC(10.0.0.0/16) 中有我的内部网络,我想在这个私有网络中创建 AWS API 网关,因此没有公共主机名/ip。
这是我尝试过的
service: apollo-lambda1
provider:
name: aws
runtime: nodejs8.10
role: arn:aws:iam::xxx:role/admin-api-lambda-role
region: ap-southeast-1
private: true
vpc:
securityGroupIds:
- sg-xxxxx
subnetIds:
- subnet-xxx
Run Code Online (Sandbox Code Playgroud)
sg-xxxxx 是一个安全组,只允许来自 10.0.0.0/16 的 ips。它没有帮助。
我也尝试添加,但它仍然向全世界公开了一个公共 IP...
resourcePolicy:
- Effect: Allow
Principal: "*"
Action: execute-api:Invoke
Resource:
- execute-api:/*/*/*
Condition:
IpAddress:
aws:SourceIp:
- "10.0.0.0/16"
Run Code Online (Sandbox Code Playgroud)
UPD:尝试了这种组合,没有奏效。现在无法解析 dns 名称
endpointType: PRIVATE
resourcePolicy:
- Effect: Allow
Principal: '*'
Action: execute-api:Invoke
Resource:
- execute-api:/*/*/*
Condition:
IpAddress:
aws:SourceIp:
- some ip here
Run Code Online (Sandbox Code Playgroud)