Articles of url

Azure Iis站点非www到wwwredirect规则忽略CDN域请求

非www的redirect规则到www.sitedomain.com工作,但CDN域请求的豁免规则被忽略( add input =“{HTTP_HOST}”pattern =“cdnprefix.azureedge.net”negate =“true” )和CDN请求redirect到www.sitedomain.com。 规范redirect部分是否可以修改为忽略CDN域? <rule name="Redirect non-www to www.sitedomain.com" stopProcessing="true"> <match url="(.*)" /> <conditions logicalGrouping="MatchAll" trackAllCaptures="false"> <!– domain is not canonical –> <add input="{HTTP_HOST}" matchType="Pattern" ignoreCase="true" pattern="^sitedomain\.com$" /> <add input="{HTTP_HOST}" pattern="^www\.sitedomain\.com$" negate="true" /> <add input="{HTTP_HOST}" pattern="cdnprefix\.azureedge\.net" negate="true" /> </conditions> <action type="Redirect" url="https://www.sitedomain.com/{R:1}" redirectType="Permanent" /> </rule> 再加上有效的HTTP – > httpS topredirect规则(分解为简化CDN免除规则的解决scheme),看起来像这样: <rule […]

在RH7下使用Apache可能是一个不区分大小写的URL?

更新于2017年8月23日,请参见下文 在Apache访问声明的目录之前,我想让RedHat 7中的URL不区分大小写。 我试着用mod_rewrite和mod_speling。 他们中没有人工作。 我知道Linux是一个区分大小写的操作系统。 我的目标是让我的API案例的URL不知情。 我已经宣布了一个httpd的最低设置,只是它甚至运行。 我还为特定的任务或设置添加了所需的模块。 我该怎么办? 或者更好:请向我解释怎么可能或为什么不起作用? 在23-08-2017更新 我得到了一个403(禁止)的错误消息,我没有权限访问服务器上的API / v1 /当我打电话给我这样的API: https://servername/API/v1 以下是Apache(httpd)设置的摘录: ## Rewriting URLs # The URL rewrite engine switch RewriteEngine On # The rewrite map for certain parameters like function() RewriteMap lowercase int:tolower # Make all HTTP request to lowercase <If "%{REQUEST_URI} =~ m#[AZ]#"> RewriteCond %{REQUEST_URI} [AZ] […]

为什么在.NET代码获取之前,IIS7会从url中去掉一个括号内的模式

我问这个问题,因为谷歌search显示重复页面(示例): /(S(2kflgaiqzadp5su35ljgorsd))/widgets/large/blue /widgets/large/blue 我不知道谷歌如何得到第一个url。 这不是目前的担忧。 事实certificate,以下url也是有效的,并会显示相同的页面内容: /(S(2))/widgets/large/blue /(S())/widgets/large/blue //nothing inside second parenth. /(V(2))/widgets/large/blue //different uppercase letter /widgets/(V(2))/large/blue //different segment position … /widgets/large/(V(2))/blue /widgets/large/(Z(2))/blue //it seems any uppercase letter will do 因此,这些是无效的(给404): /(s(2))/widgets/large/blue //lowercase first letter /(S)/widgets/large/blue //no secondary parentheses /(4())/widgets/large/blue //starts with number HttpContext.Request对象(C#)中的URL不显示任何types(例如RawUrl,AbsoluteUrl等)中的括号url段。 请求的forms为: / widgets / large / blue在上面的所有接受的url上。 我们的本地IIS服务器上没有任何重写规则。 生产服务器显示与上述相同的结果,但有几个重写规则(典型值)。 我有两个模块安装(一个用于重写,一个用于image processing)。 […]

当使用url_rewrite_program时,squid在查询中添加LAN IP,squid用户名和squid端口

我使用squid作为SSL Bump截取的透明代理。 Squid的HTTP和HTTPS端口configuration是: http_port 3127 transparent https_port 3129 intercept ssl-bump generate-host-certificates=on cert=/opt/squid/ssl_cert/cert.crt key=/opt/squid/ssl_cert/cert.key options=NO_SSLv2,NO_SSLv3 我写了下面的URL程序来强制安全searchGoogle和duckduckgo: #!/usr/bin/perl use strict; use URI::URL; # Turn off buffering to STDOUT $| = 1; # Read from STDIN while (<STDIN>) { # Do some trimming s/^\s*//; s/\s*$//; my $string = $_; # Google Safe search if ($string =~ m/^http(s?)\:\/\/([az]+\.)?google\.([az]{2,3})(\.[az]{2,3})?\/.*(\?(as_)?q=)|(\#(as_)?q=)|(\&(as_)?q=)/) { […]

如何隐藏jenkins的地址栏中的端口号

我已经安装jenkins访问端口80而不是8080在Ubuntu 16.04上使用iptables遵循jenkins文档的文章 。 它工作正常,我可以访问使用urlhttp://ci.mymachine.com/jenkins。 早些时候是http://ci.mymachine.com:8080/ 。 无论如何,login到jenkins后,它redirect到http://ci.mymachine.com:8080/ 。 所以我可以在地址栏上看到端口8080。 是否有隐藏端口号使用iptables和显示http://ci.mymachine.com/ ,每次用户想要看到http://ci.mymachine.com:8080甚至jenkinsredirect?

Haproxy阻止请求到特定的path

我试图阻止特定的应用程序,否则通过haproxy模式打开的特定path。 frontend main *:80 log 127.0.0.1 local2 acl restrict_page path_beg -i /test/admin/system acl url_test path_beg -i /test acl url_test_invalid path_beg -i /test/admin/system use_backend test if url_test use_backend testinvalid if url_test_invalid backend test balance round-robin server test1 xx.xx.xx.252:80 check backend testinvalid errorfile 503 /etc/haproxy/errors/invalid.http 我想允许/testing路由到特定的服务器,但停止所有请求/testing/pipe理/系统。 我尝试了一些事情,首先使用acl restrict_page ,但没有任何区别。 我添加了一个虚拟redirect到该url模式,但它只适用于url_test不存在。 我正在运行一个老版本的haproxy 1.3.26,不幸的是,它没有升级它的选项。 有没有办法解决这个问题? 谢谢,Shamik

如何用Nginx中的其他URLreplace/ wp-admin?

我在我的网站上有一个WordPress,我想隐藏并保护对仪表板的访问。 它与Nginx一起工作在VDS内部。 我想访问者看到404错误页面,如果他访问/wp-login.php或任何/ wp-admin / *页面 但为了让我的团队访问仪表板,我希望他们访问这些页面的不同URL,如/log-in.php(要inputlogin凭据),并使仪表板在/ root / * URL可用。 以前,我使用插件来实现这一点,但他们只能使用Apache。

用Apache在相对URL中redirect到Docker容器

我有一个端口8080上的Ubuntu服务器上运行的Docker容器。我可以通过localhost访问web容器:8080 现在我想通过相对URL从公共IP访问这个容器。 例如:19x.xx.xx.xx / gitlab 我创build了一个在Apache中反转的代理,但是我只能加载主页面,没有css,js或其他资源,比如web内部的链接,因为它们是相同的,所以我不能从外部访问它们。 ProxyPass /gitlab/ http://localhost:8080 ProxyPassReverse /gitlab/ http://localhost:8080 有没有什么办法来映射网页上的所有资源,并使用Apache的相对URLredirect?

Nginx将urlredirect到html文件并追加空参数

我需要将请求的urlredirect到文件系统上的html文件。 我已经知道这个答案了: location /this/is/some/url { index file.html; alias /path/to/the/; } file.html在文件系统上的位置是/path/to/the/file.html 。 不过,我还需要在url /this/is/some/url的末尾追加一个空参数。 所以它应该看起来像这个/this/is/some/url?_escaped_fragment_= 。 我尝试了重写的各种示例,但没有帮助,因为我没有正确使用。

如果包含参数,Nginx会redirecturl

这是我得到的情况。 我有一个使用了很多React的网站。 有几个HTML页面和内容被加载到HTML页面取决于所请求的URL(这几乎是一个单一的页面应用程序)。 为了更好的search引擎优化,我为每个这样的URL创build了替代的HTML页面(我知道谷歌机器人可以阅读像React这样的JavaScript页面,但其他search引擎不能)。 当search引擎机器人访问一个React页面时,它会看到这个标签<meta name="fragment" content="!" /> <meta name="fragment" content="!" /> ,然后将这个空参数_escaped_fragment_附加到请求的URL。 在看到附加参数后,nginx返回React页面的替代(prerendered)html页面。 例如,如果请求的URL是/some/nice/url那么机器人如果看到标签<meta name="fragment" content="!" /> <meta name="fragment" content="!" />它会将空参数附加到/some/nice/url?_escaped_fragment_=并被redirect到这个URL /some/nice/url?_escaped_fragment_=的替代html页面/some/nice/url?_escaped_fragment_= 。 如果没有添加空参数,则必须返回React页面(而不是替代html页面)。 所有的prerendered html文件都在文件系统上,并且与URL具有相同的名称,但是最后使用下划线+ .html而不是斜杠。 例如,如果URL是/some/nice/url则文件名称为some_nice_url.html 。 这是在URL的后面添加空参数/some/nice/url?_escaped_fragment_=时必须呈现的html文件。 我怎样才能写一个通用的规则来处理这个问题的nginx? generics我的意思是通用处理所有的URL。 它应该看起来像这样: location "/some/nice/url" { # this should be some regex index some_nice_url.html; alias /path/to/templates/; # /path/to/templates is where prerendered html fires are […]