Articles of nginx

apache / nginx ssl和限制客户端

我想只允许连接特定的客户端我已经设置了SSLVerifyClient所需的证书但想知道SSLCACertificateFile是否应包含Verisign证书或Verisign +中级证书+我的客户证书? 只要有一个感觉,所有与Verisign签署的证书客户将有机会获得。 我可以看到,当服务器发送ssl命令***证书请求它发送所有客户端证书,我想这不是所需的 PS。 我有nginx 1.9.6,但它不显示太多的错误信息,所以我正在用apachetestingconfiguration

如何获得nginx中每个servername(域)的连接总数?

我有nginx运行几个网站,每个人都有自己的域名。 我已经激活了ngx_http_stub_status_module ,但是它只告诉我所有的连接,也就是连接到nginx实例的连接总数。 但是,如果我想知道有多less个这样的连接是通过一个特定的域进行的呢? 可能吗? 我无法弄清楚。 提前致谢!

服务器“听”:nginx和uwsgi

我在CentOS 7的Flask应用程序周围缠绕nginx和uwsgi有一些困难。 当我运行$ sudo nginx时出现当前错误消息 nginx: [emerg] "listen" directive is not allowed here in /etc/nginx/nginx.conf:31 这里是我的nginx .conf文件的内容: user alfred; worker_processes 8; 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 { log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; access_log […]

404错误有效的URL – Nginx

我有一个单页面应用程序,所以我只有一个索引文件。 出于某种原因,每次我直接进入“underpage”时,都会收到错误404。 www.domain.com工作,但不是www.example.com/service。 目前我有这个: server { listen 80; server_name example.com *.example.com; return 301 https://example.com$request_uri; } server { listen 443 ssl; server_name www.example.com; ssl_certificate /path/to/certificate; ssl_certificate_key /path/to/key; root /var/www/app/app; index index.html; error_page 404 /index.html; } 第一台服务器只是将http请求redirect到https。 我读了一些post,但没有find任何解决scheme。 关于我能做什么的提示?

Nginx返回GET本地IP而不是域

我在单独的LXC容器中使用nginx作为所有虚拟机和LXC容器的反向代理。 当我尝试在我的网站上对自己进行身份validation时,例如,在单独的虚拟机中,例如phpmyadmin或Yunohost,当POST来自域时,nginx会返回来自本地IP的响应! 看: Nginx返回一个本地IP而不是域名 在这里我试图validationphpmyadmin。 当我有效时,我必须刷新页面才能成功连接。 这是我的nginxconfiguration: server { listen 80; server_name mysql.mydomain.com; location / { proxy_pass http://10.0.2.103; } } 我的默认文件是: server { listen 80 default_server; listen [::]:80 default_server; location / { try_files $uri $uri/ =404; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; # proxy_set_header X-Forwarded-Ssl on; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; fastcgi_param REMOTE_ADDR $http_x_real_ip; proxy_set_header X-Forwarded-Proto $scheme; […]

* 14连接()到套接字失败111:在连接到上游时连接被拒绝

当我通过我的客户端运行nginx时,build立的服务器连接显示内部服务器错误。 运行sudo tail -30 /var/log/nginx/error.log给了我: [error] 17876#0: *14 connect() to unix:/var/www/html/site-available/socket.sock failed (111: Connection refused) while connecting to upstream, client: xxx.xxx.xxx.xxx, server: localhost, request: "GET /favicon.ico HTTP/1.1",upstream: "uwsgi://unix:/var/www/html/site-available/socket.sock:", host: "xx.xx.xx.xx", referrer: "http://xx.xx.xx.xx/" 这里是nginx的默认configuration server { listen 80; real_ip_header X-Forwarded-For; set_real_ip_from 127.0.0.1; server_name localhost; location / { include uwsgi_params; uwsgi_pass unix:/var/www/html/site-available/socket.sock; uwsgi_modifier1 30; } error_page 404 […]

Nginx导致网关错误

以下是包含Web服务的服务器configuration的文件。 1 server { 2 listen 80; 3 server_name zabbix.mydomain.com; 4 root /usr/share/zabbix; 5 index index.php; 6 7 access_log /var/log/nginx/zabbix.access.log; 8 error_log /var/log/nginx/zabbix.error.log; 9 10 location / { 11 proxy_pass http://localhost:10051; 12 } 13 14 location ~ \.php$ { 15 try_files $uri =404; 16 fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock; 17 fastcgi_index index.php; 18 fastcgi_param SCRIPT_FILENAME /usr/share/zabbix$fastcgi_script_name; 19 include […]

Nginx的error_page不提供PHP文件

我试图build立一个404文件,它处理未知的url请求使用error_page指令,该文件即时尝试将其根目录是一个.php文件,这是在path相同的目录。 我无法弄清楚的问题是,只要我创build一个404路由,并定义它的位置似乎下载文件,而不是服务它。 为了testing我不会精神错乱,我把额外的PHP文件放在404规则之外,他们运行并返回内容,但404规则文件只是下载 我的configuration的片段是 root /var/www/itn; index index.php index.html index.htm; location / { try_files $uri $uri/ /index.php$is_args$args; } location ~* \.(jpg|jpeg|gif|png|css|js|ico|xml)$ { access_log off; log_not_found off; expires 1d; } error_page 404 /404.php; location = /404.php{ root /var/www/itn; } error_page 500 502 503 504 /50x.html; location = /50x.html { root /var/www/error/html; } location ~ \.php$ { […]

SELinux策略.fc文件

我在selinux中为nginx创build了一个策略,我对于一个特定的问题有一个问题: 我的网站数据位于/websites/websitename.com/alldatahere。 我有超过150个网站,所以我不想为每个网站手动添加规则。 在我的nginx.fc文件中,我想把/websites/anywebsite.com/*中的所有文件都放到php文件的nginx_websites_ttypes中。 然后我会给nginx_t(nginx运行的受限进程)读取nginx_websites_t的权限。 所以最后我会有两种types: nginx_websites_t – for all files except php php_websites_t – for php files 我尝试了以下所有文件: /websites/*.*(/.*)? gen_context(system_u:object_r:nginx_websites_t,s0) 但似乎并没有工作。 我真的没有太多的正则expression式的经验,但是当我在nginx中导入每个网站的configuration文件时,我可以把它放在我的nginx conf中: include /websites/configuration/*.*/*.conf 我在我的fc文件中尝试了相同的方法,但是正如你所看到的那样,这是行不通的。 这是我的整个FC文件: /websites/*.*(/.*)? gen_context(system_u:object_r:nginx_websites_t,s0) /websites/selinux/nginx/(/.*)? gen_context(system_u:object_r:nginx_rw_t,s0) /etc/init.d/nginx — gen_context(system_u:object_r:nginx_exec_t,s0) /usr/sbin/nginx — gen_context(system_u:object_r:nginx_exec_t,s0) /var/lib/nginx(/.*)? gen_context(system_u:object_r:nginx_var_lib_t,s0) /var/log/nginx(/.*)? gen_context(system_u:object_r:nginx_log_t,s0) /usr/share/nginx(/.*)? gen_context(system_u:object_r:nginx_usr_t,s0) /etc/nginx(/.*)? gen_context(system_u:object_r:nginx_etc_t,s0) /run/nginx — gen_context(system_u:object_r:nginx_pid_t,s0) 我不认为你需要我的整个te文件,但这里是添加文件types的行: type nginx_websites_t; files_type(nginx_websites_t);

如何在这个位置使用我的index.htm?

我需要http://suporte.ok.org.brredirect到其index.htm (请参阅root指令),而不是重写它到Github …如何做到这一点? 都在生产中,是一个具体的案例。 我正在testing许多变体的location = / { try_files …}但没有人工作。 使用UBUNTU 16 LTS服务器。 /etc/nginx/sites-available/ok.org.br server { server_name suporte.ok.org.br; root /var/www/suporte.ok.org.br; index index.html index.htm; #?? location =/ {…} is not working! location / { rewrite ^/?git$ http://github.com/okfn-brasil/suporte break; rewrite ^/?([vV][\.\d]+)$ http://github.com/okfn-brasil/suporte/tree/$1​ break; rewrite ^/?tickets$ http://github.com/okfn-brasil/suporte/issues break; rewrite ^/?(?:(?:tic|ticket)/)?(\d+)$ http://github.com/okfn-brasil/suporte/issues/$1 break; rewrite ^/?(.+)$ http://github.com/okfn-brasil/suporte/$1 break; } }