当我发现访问者是一个爬虫(给SEO优化的网站)和一个标准的php fast-cgi实例(通过fastcgi pass)时,我有一个特定的情况,我想将访问者redirect到“prerender”除此以外。 我对nginx的经验非常稀less,所以我无法完成我所需要的。 这是我当前configuration的草稿 server { server_name example.com; root /vagrant/example.com/web; index app.php; location /phpmyadmin { root /usr/share; index index.php; location ~* \.php { fastcgi_intercept_errors on; fastcgi_pass 127.0.0.1:9000; fastcgi_split_path_info ^(.+\.php)(/.*)$; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param HTTPS off; } } location / { try_files $uri @rewriteapp; } location @rewriteapp { rewrite ^(.*)$ /app.php/$1 last; } […]
我正在努力与反向代理configuration和具体的重写/ proxypass取决于URLpath。 SZENARIO: DMZ中的反向代理 SSL在反向代理上结束 请求应通过http传递给内部服务器 HTTP需要重写为HTTPS 在html hrefs中,像“/system/js/abc.js” 我目前的configuration: <VirtualHost *:80> ServerName media.customer.com RewriteEngine On RewriteCond %{SERVER_PORT}s ^(443(s)|[0-9]+s)$ RewriteRule ^(.*)$ https://media.customer.com$1 [R=301,L] </VirtualHost> <VirtualHost *:443> ServerName media.customer.com DocumentRoot /var/www/customer.com/ SSLEngine On SSLCertificateKeyFile /etc/apache2/certs/server.key SSLCertificateFile /etc/apache2/certs/server.crt ProxyRequests Off ProxyPass / http://serverName/ ProxyPassReverse / http://serverName/ ProxyHTMLEnable On ProxyHTMLURLMap http://serverName/ / </VirtualHost> 这不会是一个大问题,但我们需要得到以下规则工作: 只有base-url“Http:// serverName”路由到http:// serverName / […]
SSLProxyMachineCertificatePath证书select如何工作? 还是在请求中发送了所有的请求?
我是一个初学者的Nginx用户试图代理以下内容: http://subdomain.example.com/mypage/login TO http://some_ip_address/login (不只是/login – 该网站也有其他上下文,例如/静态,/ API等) 虽然我可以在function上做到这一点,但用户可以在他们的浏览器中看到http://some_ip_address ,这是我想避免的。 该configuration看起来像这样: worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 3; server { server_name this_server_ip; location /mypage/ { proxy_pass http://some_ip_address; rewrite ^/mypage/(.*)$ http://some_ip_address/$1 last; } location / { root /var/local/directory/; } } } 为了解决这个问题,我尝试了下面的组合: proxy_pass http://some_ip_address/; (即用斜线) proxy_set_header […]
所以我们的服务器设置如下所示: www <-> nginx <-> backend services 内部服务需要授权,如果用户令牌不正确等等,则内部服务通常会失败,并有403。 现在,我们还使用fail2ban ,它关注nginx的error.log文件中的某些内容,并在一定时间内禁止IP。 我想在这里实现的是当后端服务返回一个403时,nginx会logging一个错误,所以如果有多余的403的fail2ban可以在接下来的十分钟左右禁止IP地址。 目前,如果后端服务响应403,nginx不会logging任何内容到error.log文件。 如何做到这一点? 谢谢。
我正在运行Apache 2.4。 我在我有一个Web应用程序上运行的情况:4567 ,我想代理它到subdomain.mydomain.com 目前,我已根据应用程序文档进行设置,但将其代理到mydomain.com 。 这里是我的代理设置(从httpd.conf的底部) ProxyRequests off <Proxy *> Order deny,allow Allow from all </Proxy> ProxyPass /socket.io/1/websocket ws://127.0.0.1:4567/socket.io/1/websocket ProxyPassReverse /socket.io/1/websocket ws://127.0.0.1:4567/socket.io/1/websocket ProxyPass /socket.io/ http://127.0.0.1:4567/socket.io/ ProxyPassReverse /socket.io/ http://127.0.0.1:4567/socket.io/ ProxyPass / http://127.0.0.1:4567/ ProxyPassReverse / http://127.0.0.1:4567/
我试图设置两端通配符的反向代理,例如。 test.local等到目前为止,我有这个,它正在工作。 server { listen 80; server_name ~^(?<project>.+)\.example\.com$; location / { resolver dns.local; proxy_pass http://$project.local/; } } 但是,没有其他文件得到服务了,例如。 当我请求test.local/style.css我只是再次获得相同的索引。 谢谢!
我有一个标准的Rails应用程序部署到Heroku。 我正在使用自定义buildpack来安装nginx,所以我可以创build一些重写规则和反向代理。 除了一个问题我主要工作。 我有以下的location定义代理通过所有的url/博客/到另一个应用程序的URL。 location ~* ^/blog/?(.*) { set $forward_host 'another.app.com'; set $url_full '$1'; resolver 8.8.8.8 valid=300s; resolver_timeout 10s; # always add trailing slash rewrite ^([^.]*[^/])$ $1/ permanent; index index.html; proxy_hide_header Set-Cookie; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Scheme $scheme; proxy_set_header Host $forward_host; proxy_ignore_headers "Set-Cookie"; proxy_buffering off; proxy_intercept_errors on; proxy_redirect off; proxy_pass http://$forward_host/$url_full; } […]
我正在尝试使用在端口80上运行的现有nginx来代替Apache服务于一个Wordpress网站。 添加了nginx部分(有些评论testing有意留下,我试了很多版本抱歉,如果看起来不对): upstream wordpress { server 127.0.0.1:5000; } server { server_name media.raw-news.net; access_log /home/plumi/PLUMI/plumi.app/var/log/wordpress-access.log; error_log /home/plumi/PLUMI/plumi.app/var/log/wordpress-error.log; #root /usr/local/apache2/htdocs/; location / { proxy_redirect off; proxy_pass http://wordpress; proxy_connect_timeout 75; proxy_read_timeout 185; } location ~ .*\\.(php)$ { proxy_pass http://wordpress; 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; […]
我有一个节点服务器端口上运行,我使用Apache来代理传递给它。 我已经在虚拟主机上设置了SSL,HTTP工作正常,但HTTPS超时并且Connection Refused了Connection Refused configuration: <VirtualHost *:80> ServerAdmin [email protected] ServerName dl.test.co ProxyPass / http://localhost:8004/ ProxyPassReverse / http://localhost:8004/ </VirtualHost> <VirtualHost *:443> ServerAdmin [email protected] ServerName dl.test.co ProxyPass / http://localhost:8004/ ProxyPassReverse / http://localhost:8004/ SSLEngine on SSLProtocol all -SSLv2 SSLCipherSuite ALL:!ADH:!EXPORT:!SSLv2:RC4+RSA:+HIGH:+MEDIUM SSLCertificateFile /etc/apache2/ssl/ssl.crt SSLCertificateKeyFile /etc/apache2/ssl/ssl.key SSLCertificateChainFile /etc/apache2/ssl/sub.class1.server.ca.pem </VirtualHost>