Articles of nginx

nginx:“return”指令FileCachePath必须在/usr/local/nginx/conf/nginx.conf中设置:64

当启用Pagespeed模块时打开页面速度; 在我的vHost(没有启用pagespeed的工程很好),它给了我这个错误: ubuntu@ireland:/etc/nginx/sites-available$ sudo service nginx restart Job for nginx.service failed because the control process exited with error code. See "systemctl status nginx.service" and "journalctl -xe" for details. ubuntu@ireland:/etc/nginx/sites-available$ sudo systemctl status nginx.service ● nginx.service – The NGINX HTTP and reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; disabled; vendor preset: enabled) Active: failed (Result: exit-code) since […]

NGINX – 将httpredirect到https后,将wwwredirect到非www

我已经检查了很多类似问题的其他答案以及DigitalOcean等的教程,但没有成功。 对不起,可能是一个非常明显的问题 – 我是新手。 本质上,我需要设置redirect,以便http://, https:// www 。和http:// www 。 全部redirect到https://。 目前,https://正常工作,http://redirect到https://。 我需要redirectwwwstream量,因为SSL证书只configuration为非www。 但是,当我尝试将另一个服务器块添加到configuration中以将www(http和https)redirect到https://时,服务器将closures所有4个变体的连接。 这是我的configuration: # HTTP – redirect to HTTPS server { listen 80; server_name www.example.com example.com; return 301 https://example.com$request_uri; } # HTTPS www – redirect to non-www RESETS CONNECTION #server { # listen 443; # server_name www.example.com; # return 301 https://example.com$request_uri; #} # […]

无法访问我的VirtualMachine之外的nodejs应用程序

我在我的vm上运行centos7。 我曾经有Apache作为networking服务器,但昨天我用新鲜的ngix安装replace它。 我创build了一个简单的节点应用程序,看看一切正常,猜猜看! 它没有。 我在端口3000上运行应用程序,并使用代理redirect。 但即使控制台告诉我,当我在我的电脑上inputurl时,该应用程序正在工作我得到The page you are looking for is temporarily unavailable. Please try again later. The page you are looking for is temporarily unavailable. Please try again later. 信息。 这里是我的ngixconfiguration: user nginx; worker_processes auto; error_log /var/log/nginx/error.log; pid /run/nginx.pid; # Load dynamic modules. See /usr/share/nginx/README.dynamic. include /usr/share/nginx/modules/*.conf; events { worker_connections 1024; } http […]

从Nginx迁移到Apache

反向代理专家 目前,我正面临着从NGINX移植到APACHE的挑战。 我不是很有经验,尽pipe我设法编写APACHE,虽然我仍然坚持使用正确的指令(mod_proxy和mod_rewrite),以便它可以作为NGINX上的configuration。 下面是NGINX和APACHE的代码。 NGINX #authentication server upstream auth_servers { server 5.5.5.120:80; } upstream gate_servers { server 5.5.5.121:8020; } server { listen 443; server_name abc.example.com; ##########################SSL config file######################## ssl on; ssl_certificate /etc/nginx/ssl/abc.example.com/server.crt; ssl_certificate_key /etc/nginx/ssl/abc.example.com/server_2048.key; ssl_session_timeout 90; ssl_ciphers EECDH+AESGCM:EDH+AESGCM:ECDHE-RSA-AES128-GCM-SHA256:AES256+EECDH:DHE-RSA-AES128-GCM-SHA256:AES256+EDH:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-SHA256:ECDHE-RSA-AES256-SHA:ECDHE-RSA-AES128-SHA:DHE-RSA-AES256-SHA256:DHE-RSA-AES128-SHA256:DHE-RSA-AES256-SHA:DHE-RSA-AES128-SHA:ECDHE-RSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:AES256-GCM-SHA384:AES128-GCM-SHA256:AES256-SHA256:AES128-SHA256:AES256-SHA:AES128-SHA:DES-CBC3-SHA:HIGH:!aNULL:!eNULL:!EXPORT:!DES:!MD5:!PSK:!RC4; ssl_prefer_server_ciphers on; ssl_protocols TLSv1.2 TLSv1.1 TLSv1; location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For […]

ELB,Nginx并将httpredirect到https – 408请求超时

我有这样的configuration: Amazon Elastic Load Balancer(ELB)将端口80连接到端口81,将端口443连接到端口80 证书在ELB中处理 Nginx监听端口80和81 端口81redirect到https 端口80是主服务器 端口81的nginx服务器块: server { listen 81 default_server; listen [::]:81 default_server; server_name _; return 301 https://$host$request_uri; } 问题是http请求超时(408)。 build议?

如果uri的第一部分不是文件,则nginx mod_redirect

我正在从Apache迁移到Nginx服务器,并试图找出如何用nginxconfigurationreplace我的.htaccess 。 在我重写我想启用漂亮的链接,并需要服务器来检查,如果第一部分不是一个文件,然后redirect到index.php否则redirect到该文件。 例: 我有两个PHP文件在根目录: index.php和files.php 。 https://example.com/token/login —> index.php/token/login https://example.com/index.php/token/login —> index.php/token/login //same as above https://example.com/files.php/token/login —> files.php/token/login 我目前的/默认文件是 server { listen 80 default_server; listen [::]:80 default_server; server_name vpn.simpleinformatics.com www.vpn.simpleinformatics.com; return 301 https://$server_name$request_uri; } server { # SSL configuration listen 443 ssl http2 default_server; listen [::]:443 ssl http2 default_server; include snippets/ssl-vpn.simpleinformatics.com.conf; include snippets/ssl-params.conf; root […]

NGINX不会听港口443

按照本文档 ,我在DigitalOcean液滴上安装了SSL。 尽pipe如此, https://上的所有请求都被拒绝了! 我运行了下面的命令: sudo netstat -anltp ,发现NGINX没有监听443端口 tcp 0 0 127.0.0.1:3306 0.0.0.0:* LISTEN 1337/mysqld tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 2315/nginx -g daemo tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1442/sshd tcp 0 288 138.197.137.XXX:22 45.64.239.214:53476 ESTABLISHED 1590/0 tcp 0 0 138.197.137.XXX:22 218.65.30.134:65311 ESTABLISHED 2340/sshd: root [pr tcp 0 0 138.197.137.XXX:22 45.64.239.214:53487 ESTABLISHED 1724/sshd: […]

优化用于EndLessstream的Nginx / php-fpm

我目前有NGINX + PHP-FPM,提供无尽的MPEG-TS文件。 PHP读取文件,将它们发送到nginx,并将nginx发送到客户端。 这个过程是无止境的,因为正在生成MPEG-TS文件,所以请求不会closures,除非服务器上的streamclosures。 这个performance很好,但是我想知道是否有什么事情可以提高我的performance,因为我确定这不是最好的。 对于logging,我有〜1000个并发连接,PHP-FPM是按需设置的。 这是我的nginxconfiguration user nginx; worker_processes auto; worker_rlimit_nofile 300000; events { worker_connections 16000; use epoll; accept_mutex on; } http { include mime.types; default_type application/octet-stream; sendfile on; tcp_nopush on; tcp_nodelay on; gzip off; fastcgi_read_timeout 200; access_log off; keepalive_timeout 10; client_max_body_size 20m; include balance.conf; send_timeout 20m; limit_req_zone $binary_remote_addr zone=prot:30m rate=10r/s; server { […]

如何保存来自Nginx服务器的相互authenticationHTTPS SSL / TLS Session Handshake

我在我的服务器上安装了一个Nginx安装程序。 我只通过客户端authenticationauthentication设置了对资源的限制访问权限。 (参考RFC6101)。 现在,当用户访问证书时,他的客户端执行“TLS握手”交换一些消息。 这些消息可以用来certificate特定用户的访问。 看起来( 这是问题 )Nginx不允许恢复或保存这些信息,永远丢失它们。 我想保存(作为一个文本文件,或在数据库,或其他一切)握手消息客户端和服务器之间交换。 目标是certificate用户执行了成功的访问。 更具体地说,我需要保存证书validation以及用于生成证书的所有相关消息。 (参考RFC6101#CertificateVerify )

设置Django + nginx + uwsgi + supervisord:/ run中的套接字之间的区别vs / tmp

我试图使用uWSGI皇帝和nginx在同一台机器上设置2个Djangonetworking应用程序,并拥有supervisordpipe理皇帝进程的启动和重新启动。 我终于在互联网上进行了大量search之后,终于实现了一个可行的部署。 然而,在所有的拉毛活动中,我发现了一些奇怪的东西,如果有人能向我解释为什么会这样,我会很感激。 所以我以root身份在皇帝模式下运行我的uWSGI进程。 vassal iniconfiguration文件负责将权限下放到我的uid,并创build一个由我的用户拥有的套接字文件,作为www-data(以便nginx可以写入它)和权限660.下面是一个示例vassalconfiguration: [uwsgi] uid = xxxx chdir = %(project_dir)/%(project) home = %(venv_base)/%(venv) module = %(project).wsgi:application master = true processes = 4 socket = /tmp/%(project).sock chown-socket = %(uid):www-data chmod-socket = 660 stats = /tmp/%(project)_stat.sock logto = %(project_dir)/logs/uwsgi.log # Cleans up when the process is killed (includes deleting the socket file) vacuum = […]