堆栈:React,NGINX 1.14.0,GUnicorn,Django 2.2.8,Python 3.6.9
错误:
origin
)时,大约30秒后在浏览器控制台出现CORS错误。Conf:
server {
listen 80;
server_name mydomain;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name mydomain;
error_log /var/log/nginx/error.log debug;
ssl_certificate /etc/letsencrypt/live/mydomain/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mydomain/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
location / {
root /home/ubuntu/react_path/build;
index index.html index.htm;
try_files $uri $uri/ /index.html;
}
}
server {
listen 8000 ssl;
server_name mydomain;
ssl_certificate /etc/letsencrypt/live/mydomain/fullchain.pem; # managed by Certbot
ssl_certificate_key /etc/letsencrypt/live/mydomain/privkey.pem; # managed by Certbot
include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot
charset utf-8;
location / {
include proxy_params;
proxy_pass https://unix:/home/ubuntu/django_path/gunicorn.sock;
}
location /static/ {
alias /home/ubuntu/django_path/static/;
}
location /media/ {
alias /home/ubuntu/django_path/media/;
}
}
[Unit]
Description=gunicorn daemon
After=network.target
[Service]
User=ubuntu
Group=www-data
WorkingDirectory=/home/ubuntu/django_path
ExecStart=/home/ubuntu/VENV/bin/gunicorn --workers 3 --bind unix:/home/ubuntu/django_path/gunicorn.sock api.wsgi:application
[Install]
WantedBy=multi-user.target
CORS_ALLOWED_ORIGINS = [
'https://mydomain',
]
有一些问题,但我认为CORS错误是因为交通无法到达Django,甚至Gunicorn。
所以也许我改变NGINX conf。你怎么看?我怎么能修好?
继续下去后,我找到了解决办法。
https://serverfault.com/questions/746297/how-to-run-gunicorn-upport-with-an-nginx-ssl-configuration
非常有帮助。
下面是Nginx的conf。
upstream gunicorn {
server 127.0.0.1:8080;
}
server {
listen 80;
server_name mydomain;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name mydomain;
...
}
server {
listen 8000 ssl;
server_name mydomain;
...
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://gunicorn;
}
...
}
下面是Gunicorn的conf。
...
ExecStart=/home/ubuntu/VENV/bin/gunicorn --workers 3 --bind 127.0.0.1:8080:/home/ubuntu/django_path/gunicorn.sock api.wsgi:application
...
99.110.244:443 2017/09/28 13:03:51[错误]34080#34080:*1062 SSL握手中的对等方关闭连接(104:由对等方重置连接),同时与上游进行SSL握手,客户端:10.210.0.81,服务器:webshop.domain.be,请求:“get/http/1.1”,上游:“https://10.1.10.61:443/,主机:”webshop.domain
问题内容: 有几个与此类似的问题,但没有一个解决这个特定的问题。如果有一个我错过了,请引导我找到相关的解决方案。 现在是我的问题。我用Java编写了一个测试SSL服务器: 我这样创建了密钥库: 当出现提示时,我将localhost作为键名。 然后编译(我使用的是Sun / Oracle JDK和JRE版本1.6.0_26): 然后我运行: 然后,我通过导航到https:// localhost:8
我最近从AWS ELB转到HAProxy。我正在负载平衡器(HAProxy 1.5dev19)上终止SSL。 自从切换以来,我一直在HAProxy日志中遇到一些SSL连接错误(占请求总数的5-10%)。有三种类型的错误重复:SSL握手期间连接关闭SSL握手期间超时SSL握手失败(这种情况很少发生) 我使用的是免费的StartSSL证书,所以我的第一个想法是一些主机在接受该证书时遇到了问题,我过去没
我有以下建立SSL连接的简单代码。 如果我在Java8下运行这段代码,它就不起作用了。它以开始SSL握手时停止。 代理端口:8081 如果删除或将其设置为false,它也不能用于Java10。但是通过系统属性设置代理设置是不起作用的。
从文件导入证书时SSL握手失败的后续问题 在该链接中,使用第三方证书时SSL握手失败。 我对此表示怀疑。 一旦服务器向客户端颁发了包含公钥的证书,客户端是否使用服务器的公钥对每条消息进行编码?
在这个基于Xcode7(beta)构建的应用程序中,TCP套接字连接(NSStream)失败,错误如下。 在info.plist中,我还包括了以下相关异常的ATS。 但在下面的委托中 -(void)stream:(NSStream*)stream HandleEvent:(NSStreamEvent)eventCode 我得到的事件代码为8,表示错误发生。具有上述描述。 验证错误:num=19:证