我在我的apache服务器上有一个SSL主机,在VirtualHost中有以下内容: <VirtualHost 217.147.92.100:443> ServerName server.com ServerAdmin [email protected] DocumentRoot /somepath/ ErrorLog ${APACHE_LOG_DIR}/error.log CustomLog ${APACHE_LOG_DIR}/access.log combined SSLEngine on SSLCertificateFile /etc/something/fullchain.pem SSLCertificateKeyFile /etc/something/privkey.pem <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory /usr/lib/cgi-bin> SSLOptions +StdEnvVars </Directory> BrowserMatch "MSIE [2-6]" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 # MSIE 7 and newer should be able to use keepalive BrowserMatch "MSIE [17-9]" ssl-unclean-shutdown SSLProxyEngine […]
在我们的用例中,我们尝试用apache代理隐藏第三方代理的代理authentication,因为云服务器提供商与ip白名单不兼容。 这意味着从我们的服务器我们尝试使用代理。 而代理需要ip白名单validation。 因此,试图设置一个代理转发到外部代理,其中我们的代理有一个静态IP。 首先我们做了,在我们的AWS盒子上安装一个只有这些configuration的apache服务器 ProxyRequests On ProxyPreserveHost On <VirtualHost *:8001> ProxyPass / http://yyy.externalprovider.io:8230/ Keepalive=On ProxyPassReverse / http://yyy.externalprovider.io:8230/ </VirtualHost> 这对http和https都完全正常。 但请求仍然来自我们的服务器IP。 在此之后,我可以实现使用正常的http运行的东西,但https总是提供一个502网关错误。 具有以下configuration ProxyRequests Off SSLProxyEngine On SSLProxyVerify None SSLProxyCheckPeerCN Off SSLProxyCheckPeerName Off SSLProxyCheckPeerExpire Off ProxyPreserveHost On <VirtualHost *:8001> ProxyPass / http://yyy.externalprovider.io:8230/ Keepalive=On ProxyPassReverse / http://yyy.externalprovider.io.io:8230/ </VirtualHost> 在我们的apache2.conf中,我已经configuration了ProxyTimeout设置为300,因为这是提到最多的解决scheme。 有没有人明白为什么这不起作用?
我正在尝试在subdomain.example.com中设置GitLab。 但是当调用这个url时,它会被redirect到www.example.com。 以下是我的/etc/nginx/sites-available/subdomain.example.com文件。 我跟着这个链接 。 upstream gitlab { server unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket; } server { listen 80; server_name subdomain.example.com; server_tokens off; root /opt/gitlab/embedded/service/gitlab-rails/public; client_max_body_size 250m; access_log /var/log/nginx/gitlab_access.log; error_log /var/log/nginx/gitlab_error.log; location / { proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://gitlab; } } Nginx的访问日志 172.217.26.206 – – [21/Oct/2017:00:50:37 +0000] "GET / HTTP/1.1" 302 […]
我们有一个ASP.NET web应用程序,它使用ProxyPass.ProxyPassReverse映射到apache托pipe的php站点上的一个文件夹。 遇到一些问题。 cookies正在丢失,这打破了网站的导航,这可以通过设置为无cookie的ASP应用程序来克服。 表单身份validation在ASP网站上使用,这也与代理通行证被破坏,怀疑这也是cookie相关的。 从站点/ IP地址运行ASP站点工作正常。 根据客户要求,使用单独的域/子域不是一个选项。
我有一个服务器上托pipe的域。 我想设置另一台服务器,有时提供页面而不是第一台服务器上的页面。 我如何设置? 我想这是类似的故障转移环境,对吧? 我的服务器可以作为“网关”服务器,显示我拥有的页面,但是如果我的服务器上不存在该页面,则可能会触发故障转移事件,该事件服务于原始服务器中的内容。 我在正确的轨道上? 我将如何设置类似的东西? 还是有一个更简单的方法来做到这一点? (即apache proxypass)
我有一些JavaScript保持为每个客户端打开一个持久的Ajax连接,我知道这可能会导致一些严重的问题为Apache,但不是lighttpd。 我从研究如何解决这个问题中学到了一件事,就是如何使用ProxyPass指令将某个目录的所有请求发送到另一个地址:端口组合(而不让用户知道)。 我想知道的是,如果我把我的PHP放在一个代理服务器(到lighttpd)的目录,并用JavaScript调用,这仍然算我的Apache连接限制? 我想知道的原因是,Apache仍然在服务内容,只是不处理它。 在我看来,这将是一个连接。 谢谢
我有一个工作轨道应用程序,我想通过另一个域名服务。 所以我通过添加ServerAlias来修改VirtualHost: <VirtualHost *:80> DocumentRoot /home/my/app/public ServerName long_server_name.com ServerAlias short_name.com RewriteEngine On ProxyRequests Off ProxyPass / http://localhost:3000/ ProxyPassReverse / http://localhost:3000/ ProxyPreserveHost on <Proxy *> Order deny,allow Allow from all </Proxy> </VirtualHost> 但是,由于一些奇怪的原因,当我去到short_name.com时,它给了我Fedora的testing页面。 如果直接访问他们,我可以在/ public下查找文档(例如,short_name.com/somepage.html)。 但是这些请求没有被Rails处理。 去根path应redirect到login(通过导轨)。 有任何想法吗? 我怎样才能debugging发生了什么? (一个可能无关的警告:'short_name.com'是一个URL,是从别人租用,因为他们是所有者。)
我正在转换一个Web应用程序从Apache到Nginx。 在Apache的httpd.conf中我有: ProxyPass /proxy/ http:// ProxyPassReverse /proxy/ http:// 这个想法是客户发送这个url: http://web-server-domain/proxy/login-server-addr/loginUrl.php?user=xxx&pass=yyy 和Web服务器调用: http://login-server-addr/loginUrl.php?user=xxx&pass=yyy 我的nginx.conf附在下面,它不工作。 目前看起来它正在调用服务器,但返回一个应用程序错误。 这似乎很有希望,但任何尝试debugging失败! 我不能跟踪任何的调用,因为nginx拒绝把它们放在错误文件中。 另外,在login服务器上放置echo语句并没有帮助哪个是奇怪的。 nginx文档对此没有太大的帮助。 任何关于如何configurationproxy_pass的build议? 谢谢! user nginx; worker_processes 1; #error_log /var/log/nginx/error.log; error_log /var/log/nginx/error.log notice; #error_log /var/log/nginx/error.log info; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; log_format main '$remote_addr – $remote_user [$time_local] "$request" ' '$status $body_bytes_sent […]
我有一些规则 <Location /xyz> ProxyPass http://example.com/abc … </Location> 我想接受http://mypage.lan/xyz/123的请求并发送http://example.com/abc/123的数据。 我需要接受POST请求,但我不想将正文内容发送到example.com。 我想发送一个GET请求,但是Content-Length:0的POST请求也可以。 是否有可能,configurationApache 2不推动请求正文?
我试图在代理后面运行Fisheye。 到目前为止,我已经设法让Jira和Stash在代理之后工作,但不是Fisheye。 这是我在Nginx的configuration文件: server { listen 80; server_name dev.int.com; access_log off; location / { proxy_pass http://IP:8080; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; port_in_redirect off; proxy_redirect http://IP:8080/jira /; proxy_connect_timeout 300; } location ~ ^/stash { proxy_pass http://IP:7990; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-for $remote_addr; port_in_redirect off; proxy_redirect http://IP:7990/ /stash; proxy_connect_timeout 300; […]