我在应用程序 Nginx 上全新安装了一个 rails 应用程序。一切都很顺利,直到我决定从 Lets Encrypt 放 SSL 证书。当我尝试访问页面时出现404 Not Found错误。
/错误日志
2017/02/07 02:10:46 [alert] 4779#0: *35005 2048 worker_connections are not enough while connecting to upstream
Run Code Online (Sandbox Code Playgroud)
/etc/nginx/nginx.conf
user nginx;
worker_processes 2;
worker_rlimit_nofile 30000;
error_log /var/log/nginx/error.log;
#error_log /var/log/nginx/error.log notice;
#error_log /var/log/nginx/error.log info;
pid /run/nginx.pid;
events {
worker_connections 2048;
}
server{
listen 80;
server_name example.com www.example.com;
return 301 https://$host$request_uri;
}
server{
listen 443 ssl;
server_name example.com www.example.com;
root /var/www/myapp/public;
#SSL Configuration
ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_prefer_server_ciphers on;
ssl_ciphers 'EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH';
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
proxy_pass https://example.com;
}
# redirect server error pages to the static page /40x.html
#
error_page 404 /404.html;
location = /40x.html {
}
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}
Run Code Online (Sandbox Code Playgroud)
我用谷歌搜索并尝试了几次,但没有任何改变。关于我应该如何解决这个问题的任何帮助?
你的问题不是worker_connections。您的问题是您已指定proxy_pass连接回同一个 nginx,server从而创建了一个无限循环。当一个连接进来时,nginx 立即重新连接到自己 2048 次,抛出那个错误,然后放弃。
要解决此问题,您需要找到proxy_pass正确的 Web 应用程序,无论它在哪里,或者将其完全删除。
| 归档时间: |
|
| 查看次数: |
18928 次 |
| 最近记录: |