Articles of nginx

使用Nginx进行客户端SSLvalidation

我有一个像这样的nginxconfiguration。 server { listen 443 ssl; server_name myserver.com; ssl on; ssl_certificate /usr/local/etc/nginx/ssl/myserver.com/fullchain.pem; ssl_certificate_key /usr/local/etc/nginx/ssl/myserver.com/privkey.pem; ssl_client_certificate /usr/local/etc/nginx/ssl/letsencrypt-CA/DSTRootCAX3.crt; ssl_verify_client on; location / { proxy_pass http://127.0.0.1:4433; } 我有一个客户端发送一个签名的请求到服务器,但我总是得到一个错误的ssl错误。 var fs = require('fs'); var https = require('https'); var options = { hostname: 'myserver.com', port: 443, path: '/', method: 'GET', cert: fs.readFileSync('myclient.com/cert.pem'), key: fs.readFileSync('myclient.com/privkey.pem'), ca: fs.readFileSync('myclient.com/DSTRootCAX3.crt'), }; var req = […]

问题与Nginx和DNS

我有一个运行在Nginx上的Wordpress,我按照Digital Ocean的这个教程做了所有的安装。 我使用“example.com”域(字面上)来安装一切,然后为了访问该站点,我在本地修改了我的主机文件,并将来自“example.com”的stream量redirect到我的服务器IP。 这样做,我能够访问和工作的WordPress的网站。 我有一个旧的网站(和一个域)托pipe在另一台服务器上,所以我决定使用该域名为我的新的WordPress的。 我所做的就是将DNS更改为指向我的新服务器,Nginx正在运行,并且我完成了对Nginx服务器块(VH)所需的所有更改,以便它们与新域匹配,而不是与“example.com”匹配,但有一天,我不断收到这个消息: “示例域,该域的build立是为了用于文档中的说明性示例,您可以在没有事先协调或要求许可的情况下在示例中使用此域。 我知道,DNS传播可能需要几分钟到48小时,但我已经检查了一个在线工具,他们已经指向Nginx服务器的IP地址,所以我不知道这里发生了什么… 希望我解释得很好…非常感谢!

用nginx启用centos7上的PHP exec

我有一个运行nginx和PHP-FPM 7.1的Centos7.3 Web服务器。 我试图为PHP启用exec,但它不在/etc/php.ini或/etc/php-fpm/php-fpm.conf中的禁用function。 因为它是nginx我不能使用.htaccess强制启用它。

用sub_filter和regex更改url

我有几套url,我需要通过sub_filter更改url http://www.example.com/dir1/dir2/config.php?id=100 我想更改url以获得像这样的直接文件名 http://www.example.com/dir1/dir2/100.mp4 我试过了 : sub_filter config.php?id=([0-9]+) ([0-9]+).mp4; 但没有任何变化。 这是如何正确的sub_filter和正则expression式 谢谢

Nginx和GeoLite2不能正常工作

Nginx的官方ngx_mod_http_geoip与GeoLite2数据库兼容吗? 我无法让他们工作,所以我认为他们不兼容?

无法使用nginx访问Jenkins

我有jenkins和运行使用nignx,但它是不安全的,所以我遵循digitalOcean 这个 & 这一点,以确保ningx与反向代理&ssl的几个指南。 现在我不能访问jenkins了 – 我有一个运行在80端口的博客,所以不想按照上面的指南直接redirect到jenkins,所以不得不四处玩。 总体而言,没有工作,并已经多次改变了default文件没有成功。 已经尝试了一些解决schemesol1 , sol2但没有喜悦。 不是这个问题的专家,因此达成你们! 我的/etc/nginx/sites-available/default如下所示: # Default server configuration # server { listen 80 default_server; listen [::]:80 default_server; ssl_dhparam /etc/ssl/certs/dhparam.pem; root /var/www/html # Add index.php to the list if you are using PHP index index.html index.htm index.nginx-debian.html; server_name MYDOMAIN.com www.MYDOMAIN.com; location / { # First attempt to […]

nginx:Node.js反向代理:多个域的SSL证书的CNI问题

我是一个网页开发人员,所以要有耐心。 我有3个个人域名托pipe在我的VPS上,用nginx作为Web服务器,将传入的https请求代理到3个不同的Node.js站点。 SSL证书在nginx和Node.js https模块上的所有浏览器上都能正常工作。 浏览器可以。 问题是当我运行openssl s_client -showcerts -connect gabrieleromanato.io:443我unable to verify the first certificate ,当我运行openssl s_client -showcerts -connect gabrieleromanato.name:443我得到了同样的错误,因为CN部分显示gabrieleromanato.io而不是gabrieleromanato.name。 gabrieleromanato.io已被设置为default_server 。 否则我无法工作。 我也尝试使用proxy_ssl_certificate和proxy_ssl_certificate_key ,如下所示,但运行nginx -t返回一个错误,告诉这样的指令是未知的。 我使用Ubuntu 14.04.5和nginx 1.4.6。 提前致谢。

匿名nginx日志的最佳方法

我正在寻找匿名nginx日志(错误和访问日志)的方式,它应该有以下属性: 没办法找出用户的IP地址 应该有一种方法来知道该网站有多less不同的用户 地理位置跟踪会很好,但不是必须的。 我的第一个想法是创build一个IP地址的散列,但鉴于大多数IP是IP4,大约有40亿个选项,这是非常容易倒过来的。 有没有现有的解决scheme或战略,我将如何实施?

自签名SSL证书不适用于Mac OS Sierra

我一直在尝试使用自签名SSL证书在本地网站上使用https工作。 我正在遵循所有必要的指示: 按照https://devcenter.heroku.com/articles/ssl-certificate-self上的指南生成.crt和.key文件 configurationnginx使用ssl listen 443; ssl on; ssl_certificate /usr/local/etc/nginx/ssl/server.crt; ssl_certificate_key /usr/local/etc/nginx/ssl/server.key; 将生成的证书添加到Mac的钥匙串,并将其检查为“始终信任” 但它并没有使https工作,我不断让Chrome(或其他浏览器的)“ 你的连接不是私人的 ” mac OS Sierra 10.12.6,nginx通过自制程序安装 我做错了什么?

NGINX代理背后的AWS ELB

当我看到NGINX坐在ELB负载平衡器的后面时,我已经看到了如何强制https的文档。 我有一个NGINX代理服务器代理请求到不同的端点。 这个作品NGINX运行在一个暴露给互联网的EC2实例上。 互联网请求 – > NGINX代理 – >端点或应用程序 我不清楚或者是否太复杂,是引入一个ELB 互联网请求 – > ELB – NGINX代理 – >端点或应用程序 我想尝试路线,这将是一场噩梦:(