Articles of 反向代理

Apache相当于Nginx的`proxy_buffering off`

我有一个应用程序需要我禁用反向代理中的缓冲。 我设法做到以下nginxconfiguration: server { listen 80; server_name 10.0.0.104; location / { proxy_buffering off; proxy_request_buffering off; proxy_http_version 1.1; proxy_set_header Connection ""; proxy_pass http://http_backend; proxy_redirect default; } } upstream http_backend { server 10.0.0.86:8080; keepalive 16; } 我需要在Apache上有相同的设置,但是Apache没有proxy_buffering off指令。 唯一能够在mod_proxy文档中find的conf是ProxyIOBufferSize和ProxyReceiveBufferSize但它们有一个最小值,而不是禁用缓冲的选项。 我与那些testing,但我的应用程序失败。

如何使用Nginx作为博客的反向代理,方法是将nginx.confconfiguration为proxy_pass

我正在努力使我的网站在mysite.com/blog显示我的tumblr博客没有tumblrurl。 我正在使用NGINX,并通过nginx.conf更新了以下内容: location /blog { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_redirect off; gzip on; gzip_min_length 1100; gzip_buffers 4 8k; gzip_proxied any; gzip_types text/plain text/html text/css application/x-javascript text/xml application/xml application/xml+rss text/javascript; if (!-f $request_filename) { rewrite ^/blog$ /; rewrite ^/blog/(.*)$ /$1; proxy_pass http://denise-puchol.tumblr.com/; break; } } 这是没有W / O错误信息。 任何想法我在这里做错了吗? 谢谢

Apache Tomcat 7 + Nginx – IsTomcat Native需要?

这是我的第一个问题。 如果我犯了错误,只需指出,下次我会改进它。 我是Java开发人员,也是Linux的新手。 我使用Tomcat 7在VPS上部署Spring MVC应用程序,并使用nginx作为代理服务器。 在网上冲浪几天之后,我发现它可能是一个很好的组合,而不是使用tomcat和apache。 我将更多地了解nginx可以做什么。 目前,nginx处理来自客户端的SSL,Tomcat位于同一台计算机中,并作为具有HTTP连接器的后端服务器(Tomcat与Nginx之间没有SSL)。 我也使用limit_req模块作为基本的HTTP Flood防护。 当使用Tomcat作为Web服务器时,我也了解APR – Tomcat本地库。 每当我启动我的tomcat,它说我的APR没有find。 在这种情况下,我需要为Tomcat安装APR lib(nginx + tomcat http连接器)来加速我的服务器吗? 我是有益的使用代理cachingimg,CSS … 谁用这个configuration处理静态文件? 如果tomcat,我们需要安装APR,对吧? 有没有一种方法来保证某些请求模式(如login页面)使用代理时? 我的nginx conf: server { listen 443 ssl; server_name domain; ssl on; ssl_certificate /etc/nginx/ssl/domain.crt; ssl_certificate_key /etc/nginx/ssl/domain.key; location / { proxy_pass http://localhost:8080; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Forwarfed-For $proxy_add_x_forwarded_for; } […]

用于反向代理NGINX的authentication/访问控制模块

我正在寻找一个模块,进行身份validation/访问控制反向代理(最好nginx )。 这个模块应该这样做: 1. user authentication using credential stored in database (such as postgres) 2. Monitoring the ongoing connection and take action if certain access credential is met. For example, time is expired 3. open source (allow customization) and nginx, ruby(rails) preferable. 看来, OpenResty与OpenResty可以完成这项工作。 这里有一篇关于nginx上的Lua访问控制的文章 。 下面是一个例子( nginx and Lua ),给我的印象是一段文件可以执行访问( access_by_lua_file ): server { […]

Nginx反向代理自定义Mochiweb应用程序

我有Nginx作为我的前端Web服务器在端口80上侦听。而某些请求,我已经设置了Nginx来将它代理到一个基于mochiweb的web服务器上,我在端口8000上监听。我的nginxconfiguration这看起来像这样: location /mymochiserver { proxy_pass http://127.0.0.1:8000; proxy_redirect off; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } 现在,当我访问URL http:// localhost / mymochiserver时,我在浏览器中看不到响应。 浏览器只是说“等待本地主机”。 每当用户连接到mymochiserver时,mymochiserver就会在terminal窗口上打印一些跟踪信息,现在我可以看到每个我打开的浏览器窗口跟踪这个URL的跟踪信息。 但是我没有看到我期望看到的任何输出被写入浏览器。 但是,当我直接访问URL http://127.0.0.1:8000/一切工作正常,我看到mymochiserver在浏览器上的输出。 所以它直接调用时有效。 但是当通过nginx进行反向代理时,它似乎没有工作。 任何想法可能是错的? 更新:在我的Mochiweb应用程序中,我有这些代码行: Socket = Req:get(socket), inet:setopts(Socket, […]

ServiceStack Docker体系结构

我想知道如果有更大的大脑的人已经解决了这个问题。 我有一个应用程序,每个客户在Azure中都有一个单独的webapp。 它是一个单独的虚拟目录,其中包含ServiceStack的Asp.net MVC。 MVC没有被真正使用,该应用程序由ServiceStack驱动的99%。 架构工作正常,但随着我们获得更多的客户,我们必须pipe理越来越多的azure色的web应用程序。 虽然我们可以忍受这一点,容器的世界在我们身上,现在ServiceStack支持.net核心,我有一个乌托邦的观点,部署数百个容器,每个请求我的任何“租客”可以去任何容器和根据需要提供服务。 我认为我已经完成了大部分如何重构所有元素的工作,但是有一点我不能解决。 对于我们的客户来说,在任何其他客户之前“尝试”新的function或版本是他们正在协助开发该function的合理通用要求。 在每个虚拟机上的nginx容器(或其他东西?)服务的多个虚拟机上有许多容器的世界中,如何控制请求到特定版本容器的路由,而不需要使用nginx容器当路由需要改变时重新部署(或任何停机时间) – 例如,nginx可以根据Redis中的configuration路由请求吗? 任何build议/指针非常赞赏。 G

Nginx反向代理SSL / Minification

我正在尝试使用NginX作为几个IIS服务器的反向代理。 目标是让Nginx坐在从IIS / Apache服务器caching静态项目,如CSS / JS /图像。 我也试图让NginX使用它的Perl模块自动缩小js / css文件。 我在这里find一个缩小的示例脚本: http://petermolnar.eu/linux-tech-coding/nginx-perl-minify-css-js/ 随着scrip一切正常,除了反向代理断裂。 问题: 我正在努力完成什么? 我希望NginX在将脚本保存到caching之前先将脚本缩小。 nginX可以自动设置正确的expires头文件,以便尽可能长时间地caching静态项目,并且只在查询string被改变时才被replace(jquery.js?timestamp = march-2012) NginX可以在将资源发送出去之前将它们资源化。 如果NGinx无法连接到后端服务器,可以转发请求或提供“Down For Maintenance”页面。 任何帮助将不胜感激。 这是我在我的网站启用/默认到目前为止。 server { location / { proxy_pass http://mywebsite.com; proxy_set_header Host $host; proxy_cache STATIC; proxy_cache_valid 200 1d; proxy_cache_use_stale error timeout invalid_header updating http_500 http_502 http_503 http_504; } location @minify { perl Minify::minify_handler; […]

Nginx SSL证书失败SSL:错误:0B080074:x509(Google Cloud)

我的服务器托pipe在Bluehost(Apache)中,证书工作正常。 现在,我使用Google Cloud在不同的端口上使用proxy_pass在NodeJS中的多个页面。 我正在尝试configurationSSL,但是我遇到了问题。 我正在寻找类似的问题,但它仍然显示相同的错误。 我在这个链接之后创build了密钥文件 /var/log/nginx/error.log : 2015-07-08 10:47:20 [emerg] 2950#0:SL_CTX_use_PrivateKey_file(“/ etc / nginx / ssl / domain_com / domain_com.key”)失败(SSL:错误:0B080074:x509证书例程:X509_check_private_key:键值不匹配) 当我把控制台: openssl rsa -noout -modulus -in domain_com.key显示我这个: Modulus=D484DD1……512 characters in total……5A8F3DEF999005F openssl x509 -noout -modulus -in ssl-bundle.crt : Modulus=B1E3B0A…….512 characters in total……AFC79424BE139 这是我的Nginx设置: server { listen 443; server_name www.domain.com; ssl_certificate /etc/nginx/ssl/domain_com/ssl-bundle.crt; ssl_certificate_key /etc/nginx/ssl/domain_com/domain_com.key; ssl […]

nginx:“server”指令在这里是不允许在/etc/nginx/nginx.conf:98

user www-data; worker_processes 4; pid /run/nginx.pid; events { worker_connections 768; # multi_accept on; } http { ## # Basic Settings ## sendfile on; tcp_nopush on; tcp_nodelay on; keepalive_timeout 65; types_hash_max_size 2048; # server_tokens off; # server_names_hash_bucket_size 64; # server_name_in_redirect off; include /etc/nginx/mime.types; default_type application/octet-stream; ## # Logging Settings ## access_log /var/log/nginx/access.log; error_log /var/log/nginx/error.log; ## # […]

限制对端口的直接访问,但允许在Nginx中进行端口转发

我试图限制直接访问端口9200上的elasticsearch,但允许Nginx代理传递给它。 这是我目前的configuration: server { listen 80; return 301; } server { listen *:5001; location / { auth_basic "Restricted"; auth_basic_user_file /var/data/nginx-elastic/.htpasswd; proxy_pass http://127.0.0.1:9200; proxy_read_timeout 90; } } 这几乎是我想要的。 我可以通过端口5001访问我的服务器来打弹性search,并且必须按照预期input证书。 不过,我仍然能够达到9200,并避免了HTTPauthentication,从而失败了。 我怎样才能防止访问这个端口,而不限制nginx? 我试过这个: server { listen *:9200; return 404; } 但是我得到: nginx: [emerg] bind() to 0.0.0.0:9200 failed (98: Address already in use) 因为它与elasticsearch冲突。 一定有办法做到这一点! 但我想不起来。 编辑: 我根据评论编辑并总结了这个问题: […]