Articles of nginx

为什么nginx不知道OS X上的PHP并开始下载它?

我已经在OS X EL CAPITAN上安装了nginx,php-fpm和OS X EL CAPITAN 。 我用ps命令来检查nginx和fpm是否在运行。 我已经将下面的代码块添加到nginX的server块中: location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } nginx听8080和fpm 9000 。 我用lsof命令来检查: php-fpm 22903 root 0u IPv4 0x5a9bc9209264e227 0t0 TCP 127.0.0.1:9000 (LISTEN) php-fpm 22904 fc 0u IPv4 0x5a9bc9209264e227 0t0 TCP 127.0.0.1:9000 (LISTEN) nginx 22931 fc 6u IPv4 0x5a9bc9208c304cc7 0t0 […]

高速cachingconfiguration仍然有一些图像磁铁上有不同的caching时间

我正在nginx上运行一个magneto磁盘,并且我已经configuration了一些仍然在gtmetrix中的caching图像(5分钟) server { listen 0.0.0.0:443 default_server ssl; server_name somedomain.com; server_name www.somedomain.com; server_name ipv4.somedomain.com; pagespeed EnableFilters prioritize_critical_css; pagespeed EnableFilters extend_cache; ssl_certificate /usr/local/psa/var/certificates/cert-TANhO4; ssl_certificate_key /usr/local/psa/var/certificates/cert-TANhO4; ssl_client_certificate /usr/local/psa/var/certificates/cert-R31hv6; ssl_session_timeout 5m; ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; client_max_body_size 128m; root "/var/www/vhosts/somedomain/httpdocs"; access_log "/var/www/vhosts/system/somedomain/logs/proxy_access_ssl_log"; error_log "/var/www/vhosts/system/somedomain/logs/proxy_error_log"; location / { proxy_pass https://192.168.1.232:7081; proxy_set_header Host $host; proxy_set_header X-Real-IP […]

使用SSL保护指向我们的子域名的子域名

我们正在使用nginx来提供Web服务。 客户已经build立了一个从他们的子域指向的CNAMElogging: sub.example1.com到我们域sub.example2.com上的子域(使用通配符SSL证书进行保护) 目前,当您尝试查看: sub.example1.com ,错误: The certificate is not valid (host name mismatch). 被显示并且不匹配错误必须被忽略继续。 我曾尝试为子域sub.example1.com生成一个SAN证书并单独提供服务,但他们确实在查看sub.example2.com并导致相同的错误。 我们是否可以将SAN添加到通配符证书中以避免这种不匹配错误? 是否有其他可能的解决scheme来解决不匹配? 我们可以在相同的证书上保护这个二级子域吗? 谢谢! 编辑主nginx.conf,网站启用/ sub.example1.com和example2.comconfiguration示例: http ://pastebin.com/7AKLag4w 通过上面的configuration,我仍然收到一个不匹配的主机名证书错误。 curl -I导致: curl: (60) SSL certificate problem: Invalid certificate chain sub.example1.com证书是使用letsencrypt包括sub.example1.com和sub.example2.com SAN)创build的,而example2.com.crt是由标准颁发机构创build的,作为通配符ssl证书。

nginx访问日志中有大量的400错误

在ningx中,有很多这样的错误 2016-10-08T22:17:59+08:00 400 4949340343 1 171.115.135.59 – – 0 184.741 – – – 443 – – – 0 – TLSv1.2 (NONE) – – – 2016-10-08T22:17:58+08:00 400 4949388175 1 123.161.64.75 – – 0 95.150 – – – 443 – – – 0 – TLSv1.2 ECDHE-RSA-AES128-GCM-SHA256 – – – 2016-10-08T22:17:58+08:00 400 4949391030 1 117.136.79.8 – – 0 […]

nginxredirect规则不能按预期工作(redirect到错误的站点)

我有3个站点,domain1.com,domain2.com和domain3.com。 domain1.com没有ssl domain2.com只是一个redirect到domain1 domain3.com需要ssl 这是我的设置: domain1.nginx upstream domain1 { server localhost:3009; } server { listen 80; server_name www.domain1.com return 301 http://domain1.com$request_uri; } server { root /domain1/priv/static; listen 80; server_name domain1.com; location / { proxy_pass http://domain1; proxy_set_header Host $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; } } domain2.nginx server { server_name […]

nginx / php-fpm – 405错误提交电子邮件联系表单

我有一个小型的Ubuntu 16.04 VPS,运行nginx / php-fpm来运行一个Wordpress站点,并通过Postfix / Saslauthd运行一个SMTP服务器。 我的邮件服务器在发送和接收邮件方面工作得很好,而且我通过Postman插件设置了使用SMTP代替php邮件()的Wordpress,并且完美地工作。 但是,当试图通过Wordpress提交电子邮件联系表单时,我不断收到405不允许的错误。 我尝试了几个不同的联系表单插件(海盗表格,联系人电子邮件表格),仍然得到了相同的结果。 我也禁用邮递员强制Wordpress使用PHP邮件(),但仍然得到了405。 Nginx的debugging日志在这里 Nginx的configuration。 编辑:我想要发布到的URL是https://example.com/contact/ Nginx的访问日志显示了这一点: xxx.xxx.xxx.xx – – [09/Oct/2016:20:10:07 -0400] "GET /favicon.ico HTTP/2.0" 200 524 "https://example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36" xxx.xxx.xxx.xx – – [09/Oct/2016:20:10:08 -0400] "GET /contact/ HTTP/2.0" 200 6090 "https://example.com/" "Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, […]

随机SSL握手失败

我在客户端看到一些奇怪的SSL握手失败。 我们有自定义的web js应用程序,只能通过浏览器访问较旧的Webkit(如在Epiphany中find)。 来自客户端的所有请求都来自同一浏览器(版本和types)。 这是症状: a。)客户端浏览器显示SSL握手失败: 如果网页重新加载,错误仍然存​​在 如果浏览器会话被终止并且新会话被加载,则错误消失 b。)在nginx错误,syslog或openssl日志中找不到SSL错误 c)在tcp转储我看到一些奇怪的偶尔SSL握手错误: 列出项目错误的证书状态响应 没有证书 内部错误 d。)我们正在使用让我们encryptionSSL证书 e。)nginx.conf: ssl_protocols TLSv1 TLSv1.1 TLSv1.2; #删除SSLv3,ref:POODLE ssl_prefer_server_ciphers; nginx充当代理,将所有httpstream量redirect到https 网站启用: 服务器{ listen 80; server_name srv_name; return 301 https://$host$request_uri; } 服务器{ listen 443; server_name srv_name; proxy_connect_timeout 600; proxy_send_timeout 600; proxy_read_timeout 600; send_timeout 600; ssl on; ssl_certificate fullchain.pem_path; ssl_certificate_key privkey.pem_path; ssl_session_timeout 5m; ssl_protocols TLSv1 […]

无法在Virtualbox机器上访问NGINX:连接被拒绝

我已经在VirtualBox上安装了一个ArchLinux框,在那里我安装并configuration了NGINX服务来接受来自任何地方的请求。 listen 80; server_name _; 我也更新了我的UFW(也尝试禁用它),以允许从WWW(80)的任何地方,我已经build立了一个只有主机的网桥,这样我就可以从我的Windows主机,通过静态IP访问我的盒子。 Status: active To Action From — —— —- WWW ALLOW Anywhere WWW (v6) ALLOW Anywhere (v6) enp0s8: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 inet 192.168.33.16 netmask 255.255.255.0 broadcast 192.168.33.255 inet6 fe80::a00:27ff:fead:14c2 prefixlen 64 scopeid 0x20<link> ether 08:00:27:ad:14:c2 txqueuelen 1000 (Ethernet) RX packets 495 bytes 82862 (80.9 KiB) RX errors 0 dropped 0 […]

Docker撰写不会被反向代理拾取

我有一个docker-compose,它创build一个http服务器的容器,它不会被jwilder的nginx反向代理拾取,但是它可以手工实例化。 version: '2' services: mongo: image: tutum/mongodb expose: – "27017" environment: – AUTH=no backend: build: context: "./instance" hostname: instance ports: – "1080:8080" expose: – "8080" links: – mongo frontend: build: context: "./instancegui" ports: – "80" environment: – VIRTUAL_HOST=some.host.com – LETSENCRYPT_HOST=some.host.com – [email protected] 逆向代理生成的configuration文件表示上游{… DOWN} 但是当像这样实例化时容器运行良好 docker run –name group_frontend_1 -p 80 -e "VIRTUAL_HOST=some.host.com" -e "LETSENCRYPT_HOST=some.host.com" […]

什么时候Nginx错误发生,recv()失败(110:连接超时)代理升级连接

我使用Nginx 1.10.1来为我的APP平衡Websocket连接。 例如,应用程序A (多进程)通过Nginxbuild立到B1 , B2 Websocket连接,以便连接可以平衡。 使用它时,有时即使我的应用程序通过Websocket发送消息,终点( B1或B2 )不会收到任何消息,并在一段时间后Nginx打印错误日志消息recv() failed (110: Connection timed out) while proxying upgraded connection 。 以下是我对Nginxconfiguration。 为什么会发生,如何解决? 像networking连接超时会导致这种情况? worker_processes 2; error_log /app_log/sangmin/nginx/error.log info; pid /app_log/sangmin/nginx/nginx.pid; events { worker_connections 1024; use epoll; } http { map $http_upgrade $connection_upgrade { default upgrade; '' close; } client_body_buffer_size 5m; access_log /app_log/sangmin/nginx/access.log; upstream s2s_host{ hash […]