我有一个守护进程,轮询一个页面来监视系统状态,只要一切都开心magic_check.html将存在。 一旦出现问题,文件将被删除。 我有AWS ELBconfiguration检查这个URI,它运作良好,我遇到的问题是我不希望外部用户访问它。 我做了一些阅读,并尝试添加一个检查,只是寻找ELB设置它的x-forwarded-for标题的存在,不幸的是这是行不通的。 位置/magic_check.html { access_logclosures; 如果($ http_x_forwarded_for){ 返回444; } 允许192.168.0.0/16; 允许127.0.0.1; 否认一切; } 我错过了什么? 编辑:还有一些其他页面,我掩盖如nginx_status和上游状态,他们目前阻止elb通过IP。
我觉得我觉得和大多数情况有点不同。 这与我之前遇到的任何情况都是完全不同的: 我正在为希望/需要保留对其规范域的完全控制权的客户build立一个网站。 他们不是简单地将www.theirdomain.com和theirdomain.com指向我的服务器IP,而是将stream量路由到他们,让他们的Big-IP设备通过client.mydomain.com将这些stream量发送给我们。 我不知道大IP,但我怀疑/假设这是一个重写,用户将只能看到他们的theirdomain.com 。 另外,客户端有两个子域名,他们的login页面将由我的应用程序提供,他们的信息系统团队不希望与他们有任何关系。 他们只是更新这些域的DNS指向我的服务器。 但是,login页面在client.mydomain.com/path/to/landing/page 。 因为我们不希望最终用户看到client.mydomain.com ,但是,我正常的301redirect到回答URL的过程似乎会产生一些不必要的stream量: 我的服务器回答sub.theirdomain.com的请求 我的服务器不是简单地回答请求,而是redirect到www.theirdomain.com/path/to/landing/page 他们的Big-IP把他们发回给我的服务器(他们刚刚离开的那个服务器),但是有了正确的域名。 我的服务器呈现内容。 在第2步中,我可以简单地将url重写为www.theirdomain.com并直接提供内容,而不必redirect到设备上。 更好的想法也欢迎。 正如我所说,这不是我以前遇到的,我正在寻找的select。
我有一个分类广告网站使用专有脚本,现在我把它移动到Wordpress。 我想将旧urlredirect到Wordpressurl。 该脚本有两个主要的URLtypes: 类别url: /category/id-of-category[/page-number]/category-name.html 例如。: /category/15/cars.html /category/15/3/cars.html(3是分页) 它应该redirect到/?cat = 15 列表url: /category/id-of-category/category-name/listings/id-of-ad/ad-title.html 例如。: /category/15/cars/listings/12345/selling-my-old-toyota.html 它应该redirect到/?p = 12345 我想知道确切的nginxconfiguration,将永久redirect到相同的域名上的新的URL。
我正在尝试从nginx.org上的最新版本安装Nginx。但是,最新的软件包没有find: $ apt-get install nginx Reading package lists… Done Building dependency tree Reading state information… Done nginx is already the newest version.a 0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. 它看起来像Apt可以看到包,但不select它: $ apt-cache policy nginx nginx: Installed: 1.2.1-2.2+wheezy3 Candidate: 1.2.1-2.2+wheezy3 Version table: 1.6.2-2 0 300 http://ftp.nl.debian.org/debian/ sid/main amd64 Packages 1.6.2-1 0 […]
我试图启用OCSP Stapling是Nginx。 但是,当我testing我的SSL证书时,我遇到了一些问题。 任何想法如何解决'OCSP响应:没有响应发送'和'validation错误:num = 20:无法获得本地发行者证书'的问题? 我掩盖了一些信息,因为我不确定发布什么是“安全”的。 localhost# openssl s_client -connect www.example.com:443 -tls1 -tlsextdebug -status -CApath /etc/ssl/cert/RapidSSL_CA_bundle.pem OCSP response: no response sent depth=1 C = US, O = "GeoTrust, Inc.", CN = RapidSSL CA verify error:num=20:unable to get local issuer certificate verify return:0 — Certificate chain 0 s:/serialNumber=3-XXXXXXX/XXXXXXX/SYLel9-A/OU=XXXXXXXX/OU=See www.rapidssl.com/resources/cps (c)14/OU=Domain Control Validated – RapidSSL(R)/CN=www.example.com i:/C=US/O=GeoTrust, […]
我试图找出如何从Apache迁移到nginx,保持重写规则的灵活性,为开发人员改变。 这是我们目前的设置: 我们有一个.htaccess文件在项目的根文件夹(以及在一些子文件夹中) 在这个.htaccess文件中,开发人员可以定义重写永久链接到特定脚本(我们不使用“全局”index.php文件) 这个.htaccess文件包含在我们的Git仓库中,因此添加/更改重写不需要开发人员更改服务器configuration(他没有权限) 据我所知,目前还没有像nginx一样的.htaccess目录。 那么我们怎么可能解决这个问题呢? 我们是否必须使用“全局”index.php文件来解决重写? 这可能会大大降低总体performance。 PS您可能已经注意到,我以前从未使用过nginx。
我试图在同一个站点上testingHHVM和php-fpm,同时运行这两个。 但是我希望php-fpm只能在一个目录下工作,但是我觉得我没有把它做好 location ~ \.(hh|php)$ { fastcgi_pass 127.0.0.1:9000; # or if you used a unix socket # fastcgi_pass unix:/var/run/hhvm/hhvm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } location /checkout { fastcgi_pass unix:/var/run/php5-fpm.sock; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } 进入/结帐时,我找不到一个文件 Nginx错误: FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream […]
我们有一个生产服务器运行一个单一的网页应用程序和一个单独的代理服务器,出于安全原因。 我们的networking应用程序的每个请求都由代理服务器上的反向代理(nginx)处理。 所以我们的生产服务器的IP地址是外界永远不可见的。 现在我们需要通过nodemailer从我们的生产服务器发送(而不是)电子邮件。 我们想把它发送到mail.proxyserver.com,他应该把它传递给一个新的地址。 我们已经为普通的https请求做了这些,并且能够使用头部variables来确定proxy_pass地址( proxy_pass https://$http_target_ip; ) 是否有可能通过nginx反向代理外发电子邮件,以便服务器可以通过代理发送电子邮件,而不是自己可见? 在通过标准端口通过smtp发送电子邮件时,这个configuration需要如何? 我看了看nginx的文档和各种论坛的post,但atm我不能把它合在一起…
情况 我为我的移动应用程序创build了一个REST API,现在我想创build一个网站。 API到目前为止非常简单,只是为了“获取内容列表”,“更新数据库中的某个字段”等几个请求。但现在,我想创build一个网站,当然会使用相同的数据库。 我不认为这个API将在网站项目中有用。 题 把API和网站分开保存,在两个不同的实例上更好一些,还是最好把它合并起来? 例如, api.example.com上的API地址为127.0.0.1:8001网站地址为127.0.0.1:8002 ,当然还有两个不同的nginx服务器configuration(如果仍然存在不知道我的意思是:P)? 或者在处理请求方面的performance并不重要,最好是通过链接example.com/api/…完成一个项目。
有没有办法让nginx处理一个自定义variables,就像它在重写规则中对待$ scheme一样? 例如: rewrite ^/redirect http://example.com; # and rewrite ^/redirect_with_scheme $scheme://example.com; 都将导致302redirect被发送到客户端。 但是,这个: set $real_scheme $scheme; rewrite ^/redirect_with_real_scheme $real_scheme://example.com; 将导致服务器端重写到一个不一定存在的文件,然后404到客户端。 为了什么是值得的,这个: set $real_scheme $scheme; rewrite ^/redirect_with_real_scheme $real_scheme://example.com redirect; 将给客户发送一个302所需的结果。 不幸的是,我有很多这样设置的redirect如果没有必要,我宁愿不使用redirect指令更新所有的redirect 。 如果有帮助,我使用Nginx 1.6.2。