正如在标题,我的网站,git.mad3ngineer.net转发到www.mad3ngineer.net。 不过,我的ci.mad3ngineer.net使用相同的系统,但工作得很好… 这个网站可以在http://git.mad3ngineer.net上看到,你可以看到它转发到默认网站,这个网站目前只是一个简单的html文档。 但是,如果你inputhttp://ci.mad3ngineer.net它神奇的作品! 而且,更何况…如果你添加/用户/ sign_in git.mad3ngineer.net …像这样:git.mad3ngineer.net/users/sign_in它神奇的作品,以及:O …这怎么可能是? 我究竟做错了什么? 我已经重新启动服务器,重新加载configuration,我不明白我做错了什么。 这是我的nginx站点configuration文件: upstream gitlab { server unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket; } upstream gitlabci { server unix:/var/opt/gitlab/gitlab-ci/sockets/gitlab.socket; } server{ listen 80 default_server; server_name 192.168.1.10 mad3ngineer.net www.mad3ngineer.net; root /var/www/mad3ngineer.net; location / { index index.php index.html index.htm; } location /gitlab { rewrite ^/gitlab/(.*) http://git.mad3ngineer.net$1 break; } location ~ \.php$ { try_files […]
我在我的一台服务器上configuration了Nginx和Apache。 nginx服务器在端口80上侦听端口80,在端口81上侦听Apache。Nginx作为反向代理。 在nginx中我configuration了TCP Fast Open: server { listen 107.6.155.74 fastopen=50; server_name servtest.com www.servtest.com; TCP快速打开也在服务器上启用: root@server:~/projects/nginx# cat /proc/sys/net/ipv4/tcp_fastopen 3 为了testing这个工作是否正常,我在运行Ubuntu的PC上configuration了Chrome,使用TCP Fast Open(chrome:// flags page)。 客户端上的tcp_fastopen设置设置为1。 在服务器上,我使用下面的grep找出是否使用TCP Fast Open: grep '^TcpExt:' /proc/net/netstat | cut -d ' ' -f 87-92 | column -t TCPOFOMerge TCPChallengeACK TCPSYNChallenge TCPFastOpenActive TCPFastOpenPassive TCPFastOpenPassiveFail 0 2 2 0 0 0 我相信TCPFastOpenActive和/或TCPFastOpenPassive计数器不应该是“0”,如果这个工程。 任何想法如何实际找出是否使用TCP Fast […]
有了这个Nginx的configuration: server { listen 443 ssl; server_name www.x.nl x.nl; ssl_certificate /etc/nginx/ssl/x.nl.crtkeyca; ssl_certificate_key /etc/nginx/ssl/x.nl.crtkeyca; […] } 这工作: openssl s_client -servername www.x.nl -connect localhost:443 < /dev/null 这不,因为我得到默认的虚拟主机CN: openssl s_client -servername x.nl -connect localhost:443 < /dev/null 从Ubuntu 12.04 LTS使用股票Nginx,不幸的是很老(1.1.19)。 它应该工作在更新的版本,还是我需要复制我的server {}定义?
我在我的个人gitlab设置有一个小问题。 我想将所有来自http://gitlab.example.com的stream量redirect到https://gitlab.example.com 。 SSL确实在https://gitlab.example.com上工作,但必须专门input。 下面是我的nginx conf文件。 server { listen 192.168.1.139:443; server_name gitlab.example.com; listen 443; ssl on; ssl_certificate /etc/nginx/ssl/gitlab.crt; ssl_certificate_key /etc/nginx/ssl/gitlab.key; location / { proxy_pass http://192.168.1.139:80; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header x-Forwarded-For $proxy_add_x_forwarded_for; } } GitLab安装是一个综合安装。 我在configuration文件中更改了什么以允许sslredirect?
我有我的nginx设置阻止某些查阅者如此: if ($http_referer ~* (site_name) ) { return 403; } 这工作正常,但是我想也阻止引用到日志文件。 我尝试添加 access_log /path/to/server/bad_domain.log; 在if语句中; 然而这是行不通的。 有任何想法吗? 谢谢。 编辑: 我也试过这个无济于事。 if ($http_referer ~* (site_name) ) { set $crawler 'yes'; return 403; } location ~ .* { if ($crawler = 'yes') { access_log /path/to/server/bad_domain.log; } } 编辑2: 试 map $http_referer $log_referer { domain1.com 1; default 0; […]
在我们的应用程序configuration中,nginx在gunicorn充当反向代理。 我们的应用程序通常会回应前端请求,但响应却很less…但是有些端点产生的响应大于一个内存页面(4K)。 发生这种情况时,nginx会logging下这个警告: an upstream response is buffered to a temporary file /path/to/nginx/proxy_temp/4/86/0000000864 while reading upstream, client: 1.2.3.4, server: api.ourdomain.com, request: "GET /pdf/…" 我们的nginx日志最终充满了这个警告 – 就我所知,使这个警告从我们的日志中消失的唯一解决scheme是不好的解决scheme : 我可以将nginx proxy_max_temp_file_size设置为0 – 基本上禁用大型响应的缓冲。 这将停止对文件的缓冲 – 但这也意味着对于产生大量响应的端点(例如,生成1到2MB响应的PDF生成的响应),慢速消费的客户端将使相应的gunicorn工作者停顿…事实上,如果存在是N个gunicorn工作者,只会让N个客户端在慢速networking连接后生成PDF,而我们的应用程序将会停止运行。 我可以将proxy_buffer_size增加到4K以上(即一个内存页面)。 我很确定这会对nginx性能产生严重的影响 – 我们70%的响应确实适合4K,我们将强制nginx分配…什么? 2 MB的缓冲区为他们每个人,只是为了准备偶尔的PDF生成请求? 编辑 :其实这根本不是一个选项 – 迈克尔(下)评论说,唯一允许的值是4K和8K。 我可以closuresproxy_buffering ,但是和第一种解决scheme(慢速客户端=>死亡)一样糟糕。 实际上,nginx会将我们的日志充斥在我们想要的东西上 – 当响应很大时,临时缓冲到文件中。 我们只是想阻止这种淹没我们的日志,通过“标记”它不是一个真正的警告(我不知道为什么这是一个警告 – 什么“坏事”是警告我们?) 除了编辑nginx的源代码和重新编译,还有其他的解决scheme,我失踪了吗?
我有一个主站点和几个虚拟主机的域名。 我希望所有网站(主要和虚拟主机)只能通过HTTPS(使用HSTS)访问,我希望不存在的子域被redirect到主站点。 总结一下我想要的: https:/example.com:无redirect(主站点) http:/example.com:redirect到https:/example.com https:/vhost.example.com:无redirect(虚拟主机) http:/vhost.example.com:redirect到https:/vhost.example.com https:/doesntexist.example.com:redirect到https:/example.com http:/doesntexist.example.com:redirect到https:/example.com 我非常接近这一点,但倒数第二次redirect不起作用。 我正在使用来自Let's Encrypt的证书,此证书目前不提供通配证书,因此证书仅对主域和虚拟主机(我在创build证书时明确列出)有效。 由于证书无效,浏览器会阻止连接。 如何避免这个问题,最好的办法是什么? 这是我的(简化)nginxconfiguration,如果有帮助: server { listen 80; server_name _; return 301 https://example.com$request_uri; } server { listen 443 spdy; server_name _; # SSL settings snipped for brevity. SPDY and HSTS are enabled. return 301 https://example.com$request_uri; } server { listen 443 spdy; server_name example.com; root […]
开发人员在这里,接近零* nix能力。 谷歌search几个小时后,我最终在这里希望find解决这个问题的方法: 我有一个简单的网站设置像这样: server { listen 80 default_server; listen [::]:80 default_server ipv6only=on; root /data/www/example.com; server_name example.com; location / { index index.html$args; try_files $uri$args $uri$args/ $uri/ /index.html$args =404; } } 我需要nginx来转发路由 example.com/path1/path2/path3?param=value 至 example.com/index.html/path1/path2/path3 (我有一个angularJS应用程序,它倾听这种路线) 问题是,每当我得到一个path,其中包括一个?param =值在最后我得到了404页面。 所有其他嵌套的路由转发正确(即: example.com/path1/path2/path3去example.com/index.html/path1/path2/path3 )。 任何想法让我摆脱困境?
在我的Nginxconfiguration中,我有一些IP块,以对抗垃圾邮件和漫游器。 这是非常有效的,但结果是,我的错误日志得到了超快的错误消息,如下所示: 2015/12/16 00:56:28 [error] 27748#0:* 120462规则访问被禁止,客户端:167.114.xxx.xxx,服务器:bla bla …. 现在我不想完全禁用错误日志logging,因为我想知道什么地方出了问题。 我只想禁用这些“被规则禁止”消息的日志logging。 任何想法如何做到这一点?
我使用nginx 1.9.9作为Gravatar的代理(将等待时间从300ms减less到15ms)。 但是,caching在几分钟后过期,而我指定它在7天内过期。 在短短的几分钟内,我收到头X-Proxy-Cache: EXPIRED 。 configuration如下: proxy_cache_path /var/www/gravatar-cache levels=1:2 keys_zone=gravatar:8m inactive=7d use_temp_path=off max_size=1000m; proxy_cache_key "$scheme$request_method$host$request_uri"; server { listen 443 ssl http2; server_name [hidden]; access_log off; ssl_certificate [hidden]; ssl_certificate_key [hidden]; location /avatar/ { expires 365d; proxy_cache gravatar; proxy_cache_valid any 7d; proxy_pass https://secure.gravatar.com; proxy_ignore_headers Cache-Control; proxy_hide_header link; proxy_hide_header source-age; proxy_hide_header content-disposition; proxy_hide_header via; proxy_hide_header x-varnish; proxy_hide_header […]