我想要求auth_basic nginx身份validation保存所有kibana 4仪表板,但允许任何人查看仪表板没有身份validation。 我最近使用DigitalOcean 教程在Ubuntu 14.04上安装了ELK(Elasticsearch 1.4.5,Logstash 1:1.5.2-1和Kibana 4.1.1)堆栈。 由于kibana使用基于浏览器的JavaScript来发送查询到elasticsearch,我不知道如何找出保护什么。 DigitalOcean提供了一个nginxconfiguration来完全保护对kibana 4的访问。 FILE:/etc/nginx/sites-available/default server { listen 80; return 301 https://logstash.nyc.3top.com; } server { listen 443; ssl on; ssl_certificate /etc/nginx/ssl/server.crt; ssl_certificate_key /etc/nginx/ssl/server.key; server_name logstash.example.com; access_log /var/log/nginx/kibana.access.log; auth_basic "Restricted Access"; auth_basic_user_file /etc/nginx/htpasswd.users; location / { proxy_pass http://localhost:5601; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host […]
我想用Nginx制作一个反向代理服务器,我有一个代理conf文件和一个Proxy-SSL。 不幸的是我有一些问题与代理SSL(HTTPS) 我正在尝试连接到https://owncloud.example.eu时,得到一个错误的网关502错误,我可以看到有一个服务器名称错误在日志(显示在底部),但我无法弄清楚我应该编辑,以使其工作 server { listen 443 ssl; server_name example.eu; ssl on; ssl_certificate /etc/nginx/ssl/wordpress/wordpress.crt; ssl_certificate_key /etc/nginx/ssl/wordpress/wordpress.key; #ssl_trusted_certificate /etc/nginx/ssl/path/ca-certs.pem; ssl_ciphers HIGH:!aNULL:!MD5; ssl_prefer_server_ciphers on; ssl_session_cache shared:SSL:1m; ssl_session_timeout 5m; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # don't use SSLv3 because of killer poodles #Uncomment to enable the settings #gzip on; location / { # app1 reverse proxy follow proxy_set_header X-Real-IP […]
希望你有美好的一天! 所以我运行一个nginx代理服务器作为后端的Apache服务器。 nginxconfiguration如下: server { listen 80; server_name localhost; location / { proxy_pass http://ip_address_1:85; proxy_redirect default; proxy_set_header Host $host:80; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } } 这只是将所有请求redirect到我的nginx代理到我的apache后端。 现在我想代表所有传入的请求文件夹名称“数据”到另一个不同的IP地址的Apache服务器。 我将如何configurationnginx将所有请求redirect到http://domain.com/data/到第二个Apache服务器。 而不是“数据”目录的任何其他请求会转到第一个Apache服务器IP,如上面的configuration中所示。 谢谢大家!
我试图找出阻止Nginx中的用户代理的最好方法,除了那些来自特定IP的用户代理。 我有一个解决scheme,似乎工作,但我想知道是否有更好的解决scheme。 这是我现在的解决scheme, if使用条件和variables: if ($remote_addr != XXX.XXX.XXX.XXX) { set $test A; } if ($http_user_agent ~* (python-requests)) { set $test "${test}B"; } if ($test = AB) { return 444; } 谢谢!
我试图运行一些服务器上的nodejs应用程序(Ubuntu 14.04),使用Nginx,我快完成了。 这是我的服务器configuration( /etc/nginx/sites-available/default ): server { listen 80; server_name my_domain.com; location /test1 { proxy_pass http://127.0.0.1:5000/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } location /test2 { proxy_pass http://127.0.0.1:5001/; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection 'upgrade'; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; } } 我有几个应用程序运行,他们都运行良好,我可以访问http://my_domain.com/test2等… 问题是,在这个应用程序中,我有几个绝对path: 例如<a href="/">Home</a> 或(内部快递) […]
即,有什么区别 location somefolder { } 和 location somefolder/ { } 和 location /somefolder { } 和 location /somefolder/ { } 我知道这是一个愚蠢的问题,但老实说,有时我会感到困惑,一个简洁的答案会很好!
首先这可能不是问题,但即使如此,我也不知道如何标题这个职位。 我有一个设置redirect每个url的格式xxxx.ops.internal.comauthentication后,相应的URL。 如果我访问URL example.ops.internal.com那么我将被带到example.ops.internal.com但是如果我访问foobar.ops.internal.com我也被带到由example.ops.internal.com提供的内容如果这是有道理的。 看来不pipe我用什么URL, example.ops.internal.com的内容都会返回。 这是configuration: server { listen *:8081; server_name example.ops.*; location / { proxy_pass http://hiddenip; proxy_redirect off; } } server { listen *:8081; server_name foobar.ops.*; location / { proxy_pass http://hiddenip2; proxy_redirect off; } } 似乎总是返回第一台服务器的内容。 这是身份validation发生和redirect发生的方式: server { listen *:80; server_name ~^auth.(?<domain>ops.*)$; location = /oauth2/callback { proxy_pass http://google-auth; } location ~/(?<sub>[^/]+)(?<remaining_uri>.*)$ { […]
首先深入到nginx。 可能缺乏googlefoo /堆栈技巧。 这应该是超级容易解决,但我真的很努力与nginx的configuration。 我还没有find对我有意义的文档,看起来像“最佳实践”风格的文档。 我正在尝试将一个站点从apache迁移到nginx。 该网站有一个静态的HTML登陆页面,允许用户通过链接select一个“子网站”。 所以他们进来,并击中index.html(工作正常),然后让我们说,他们点击链接www.example.com/hhc/。 而不是显示在我的hhc子文件夹中的index.php,他们与实际的hhc / index.php文件的下载对话框呈现,而不是由php-fpm后端处理。 但是,如果我input完整的URI(www.example.com/hhc/index.php),php-fpm后端处理它就好了。 我错过了什么? configuration: server { listen 80; server_name_in_redirect off; root /var/www/html/; # whack trailing slashes rewrite ^/(.*)/$ /$1 permanent; location / { index index.html; } location /hhc { fastcgi_index index.php; try_files $uri $uri/ /hhc/index.php?q=$request_uri; } # Process all .php files using the php-fpm local […]
TLDR:如何在后台应用服务器的子域之间共享cookie,我不能使用nginx作为代理进行“configuration” – 一些神奇的proxy_ *组合? 龙卷风web服务器运行在“127.0.0.1:9999/ipython”,我不能configuration(它运行作为ipython笔记本服务器的一部分)。 我使用nginx代理从“www.mysite.com”至127.0.0.1:9999 成功 (httpstream量至less)。 但是,后端应用程序的一部分需要Websockets。 因为我正在使用CloudFlare,所以我必须为Websockets使用单独的域(“Websockets目前仅适用于Enterprise客户…所有其他客户…应在其CloudFlare DNS中为Websockets创build一个子域并禁用CloudFlare代理” )。 我正在使用“ws.mysite.com”。 当用户在“https:// www.mysite.com”login时,一个cookie由龙卷风网站服务器设置为“www.mysite.com”(我似乎无法configuration它,否则我只是设置它到“.mysite.com”)。 当应用程序的websocket部分启动时,它向“wss:// ws.mysite.com”发送一个请求,但是由于Cookie设置为不同的域(“www.mysite.com”),所以无法进行authentication。 是否有可能nginx“欺骗”的域名,所以龙卷风web服务器注册“.mysite.com”? proxy_cookie_domain似乎不工作,因为我期望…我应该硬代码“proxy_set_header主机”? 我正在考虑类似于…的nginx conf upstream ipython_server { server 127.0.0.1:8888; } server { listen 443; server_name www.mysite.com; ssl_certificate cert.crt; ssl_certificate_key cert.key; ssl on; # **** THIS DOESN'T WORK ??? **** proxy_cookie_domain www.mysite.com .mysite.com; location /ipython/static { proxy_pass https://ipython_server$request_uri; proxy_set_header […]
我已经在Ubuntu上部署了一个开源的公共Web服务(elasticsearch)。 问题是 – 没有安全(只有当你付钱)。 我已经研究了一些阻塞端口的内部请求,同时只允许通过身份validation代理进行外部访问。 最简单的方法是带有基本authentication的nginx。 但在这些情况下最好的做法是什么? 我的其他select是什么?