标签: rewrite

配置 IIS 7 反向代理以连接到 TeamCity Tomcat

我们配置了IIS 7网络服务器,并希望在同一台机器上使用TomcatTeamCity安装创建反向代理

IIS 服务器站点是https://somesite,我希望 TeamCity 显示为https://somesite/teamcity重定向到http://localhost:portnumber.

我已经安装了IIS URL 重写扩展应用程序请求路由来尝试设置反向代理,但无法使其工作。

我找到的最接近的答案是一个旧的 StackOverflow 问题:https ://stackoverflow.com/questions/331755/how-do-i-setup-teamcity-for-public-access-over-https
不幸的是没有任何工作例子。

我已经搜索了很多,但似乎找不到相关的例子。

任何帮助表示赞赏!

rewrite iis-7 tomcat reverse-proxy teamcity

12
推荐指数
2
解决办法
1万
查看次数

IIS URL 使用端口将 HTTP 重写为 HTTPS

我的网站有两个绑定:1000 和 1443 (端口 80/443 被同一 IIS 实例上的另一个网站使用)端口 1000 是 HTTP端口 1443 是 HTTPS。我想要做的是使用“htt p://server:1000”将任何传入请求重定向到"https://server:1443". 我正在玩 IIS 7 重写模块 2.0,但我正在用头撞墙。任何见解表示赞赏!

顺便说一句,下面的重写配置适用于在端口 80 上具有 HTTP 绑定和在端口 443 上具有 HTTPS 绑定的站点,但它不适用于我的端口。

PS 我的 URL 故意留有空格,因为“垃圾邮件预防机制”启动了。出于某种原因,谷歌登录不再工作,所以我不得不创建一个 OpenID 帐户(没有脚本可能是罪魁祸首)。我不确定如何让 XML 显示得很好,所以我在左括号后添加了空格。

< ?xml version="1.0" encoding="utf-8"?>
< configuration>
  < system.webServer>
    < rewrite>
      < rules>
        < rule name="HTTP to HTTPS redirect" stopProcessing="true">
          < match url="(.*)" />
          < conditions trackAllCaptures="true">
                        < add input="{HTTPS}" pattern="off" />
          < /conditions>
          < action type="Redirect" …
Run Code Online (Sandbox Code Playgroud)

rewrite iis-7 url https redirect

12
推荐指数
3
解决办法
3万
查看次数

IIS Rewrite,重写映射和查询字符串

请帮我理解重写地图,我有这个设置:

<rewriteMap name="MyMap">
   <add key="/pages" value="/website/pages/index.aspx" />
   <add key="/pages/page-1" value="/website/pages/page-1/index.aspx" />
   <add key="/pages/page-1/section-1" value="/website/pages/page-1/section-1.aspx" />
</rewriteMap>
Run Code Online (Sandbox Code Playgroud)

这是我的规则:

<rule name="Rewrite rule for MyMap" stopProcessing="true">
   <match url=".*" />
   <conditions logicalGrouping="MatchAll" trackAllCaptures="false">
      <add input="{MyMap:{REQUEST_URI}}" pattern="(.+)" />
   </conditions>
   <action type="Rewrite" url="{C:1}" appendQueryString="true" />
</rule>
Run Code Online (Sandbox Code Playgroud)

如果我尝试访问这些页面,这将起作用:

  • www.mydomain.com/pages(确定)
  • www.mydomain.com/pages/page-1(确定)
  • www.mydomain.com/pages/page-1/section-1(好)

但我希望可以在任何这些页面上添加查询字符串,例如:

  • www.mydomain.com/pages?page=1(失败)

当我尝试访问此页面时,我收到 404。我怎样才能让它工作?

rewrite iis-7

11
推荐指数
1
解决办法
7900
查看次数

nginx:重写除一处之外的所有内容

现在我的 nginx 正在将多个域重写为我们正在使用的一个主域。这是我的配置中的一项规则:

server {
  listen X.X.X.X:80;
  server_name .exampleblog.org;
  rewrite ^(.*) http://blog.example.org$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)

对 **exampleblog.org* 的每个请求都被重定向到 blog.example.org

现在我希望www.exampleblog.org/+exampleblog.org/+将用户重定向到我们的 Google Plus 页面。它尝试了不同版本的:

server {
  listen X.X.X.X:80;
  server_name .exampleblog.org;
  location /+ {
    rewrite ^ https://plus.google.com/12345678901234567890/ permanent;
  }
  rewrite ^(.*) http://blog.example.org$1 permanent;
}
Run Code Online (Sandbox Code Playgroud)

以上和其他版本只是重定向到blog.example.org/+ - 我做错了什么?

rewrite nginx redirect

11
推荐指数
1
解决办法
2万
查看次数

如何仅从请求 uri 中提取文件名

我试图根据文件的扩展名重写请求 uri,然后仅从 uri 中提取文件名并将其存储在另一个文件夹中。这里的问题是文件名和可用变量没有预定义的变量urirequest_uri并且request_filename会给出完整的 uri。

server{

        set $file_folder D:/nginx-1.0.15/imageAll/;  

        location ~*+.(gif|jpg)$ { 
            try_files $uri @imgstore;
        }

        location @imgstore { 
            proxy_pass $file_folder$request_filename;
            proxy_store on;
            proxy_temp_path /nginx-1.0.15/images/;
            proxy_store_access  user:rw  group:rw  all:r;
       }
}
Run Code Online (Sandbox Code Playgroud)

我能做的最好的事情就是获得扩展名 .jpg 或 .gif,当我把$1它放在$request_filename这样的地方时:

location @imgstore { 
    proxy_pass $file_folder$1;
}
Run Code Online (Sandbox Code Playgroud)

所以,我想知道:

  1. 如何从请求中获取文件名?
  2. 将图像从文件夹存储到另一个文件夹是正确的方法吗?

rewrite nginx images

11
推荐指数
1
解决办法
2万
查看次数

将 IIS 中的*所有* HTTP/HTTPS 请求临时重定向到“服务器维护”页面

我们有一个 IIS 服务器,用于托管数百个独立的 Web 应用程序,托管这些应用程序的物理数据库服务器将在短时间内脱机进行维护(我们预计只需不到 15 分钟)。

在此期间,我们希望将任何网站的所有流量重定向到“我们目前正在进行维护”页面。

我意识到我可以通过访问每个 Web 应用程序并设置 IIS 重写规则来完成此操作,该规则将用户发送到该应用程序中的所有请求的另一个页面。但是,我们做这件事比做数据库维护要花更长的时间!

我尝试了三件事,但都没有奏效:

全局 IIS 重写规则

我一直在寻找一种简单的方法来将规则应用到所有站点,一举 - 然后能够在一个同样轻松的步骤中“撤消”该规则。到目前为止,我的尝试都没有奏效。我确实尝试将这个重写规则放在我的全局 web.config 中,位于 W:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\web.config:

<configuration>
    <system.webServer>
        <rewrite>
            <rules>
                <rule name="redirect all requests" stopProcessing="true">
                    <match url="^(.*)$" ignoreCase="false" />
                    <conditions logicalGrouping="MatchAll">
                        <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" pattern="" ignoreCase="false" />
                    </conditions>
                    <action type="Redirect" url="http://www.somedomain.com/maintenance" appendQueryString="true" />
                </rule>
            </rules>
        </rewrite>
    </system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)

这没有用。我们在 IIS 中运行 .NET 4.0 64 位,但“以防万一”我把同样的东西放在 32 位和 2.0 全局 web.config 文件中,但仍然没有变化。

App_Offline.htm "特殊文件"

我看到的另一个建议是app_offline.htm “特殊”文件,但我们又回到了同样的问题,将这个文件部署到我们所有应用程序的应用程序根目录比实际进行维护需要更长的时间。

IIS 中的“我们离线”站点

我们所有的站点都在 …

iis windows-server-2008 rewrite redirect iis-7.5

11
推荐指数
1
解决办法
3万
查看次数

使用 Nginx 作为反向代理将相同站点添加到 cookie

使用 Nginx 作为反向代理,如何在 cookie 中添加 samesite=strict 或 samesite=lax?

rewrite nginx reverse-proxy cookies

11
推荐指数
3
解决办法
4万
查看次数

Apache:在哪里检查重定向日志?

我有复杂的RewriteCondRewriteRule在一台机器上。并且根据这些规则,一些请求将被重定向到另一台机器。

那么是否有任何 Apache 日志清楚地显示重定向是如何发生的?因为重定向的发生方式出乎我的意料。

mod-rewrite rewrite apache-2.2

10
推荐指数
2
解决办法
2万
查看次数

在 nginx 中缺少斜杠时添加斜杠

我使用以下配置在 Nginx 上运行 Magento:http : //www.magentocommerce.com/wiki/1_-_installation_and_configuration/configuring_nginx_for_magento

现在我想将所有 URL 301 不带尾随斜杠到包含尾随斜杠的对应物。例如:/contacts 到 /contacts/。

我已经尝试了几乎所有我能找到的 nginx 指令,但无济于事。例如,nginx-Rewrite URL with Trailing Slash 中指定的指令会导致重定向到 /index.php/。

我应该添加哪个指令以及在哪里添加?

rewrite url nginx magento

10
推荐指数
2
解决办法
2万
查看次数

Apache 2.2 重定向除一个目录外的所有目录

我的httpd.conf文件中有这个:

<VirtualHost IP.AD.DR.ESS:80>
    ServerName example.com
    Redirect Permanent / https://example.net/
</VirtualHost>
Run Code Online (Sandbox Code Playgroud)

这成功地将以前的所有内容重定向http://example.com到其新的相应位置https://example.net。但是,我发现一个目录example.com/specialdir/必须保留在旧服务器上,因为它需要访问的数据不在新服务器上。(完成涉及其他几十个站点的迁移需要几个月的时间。)

有没有合理的方法来解决这个问题,httpd.conf或者我将不得不使用一堆.htaccess文件?我怀疑我可以用<Location>容器做一些事情,但我不知道要问正确的问题来查找信息。

rewrite configuration apache-2.2

9
推荐指数
1
解决办法
1万
查看次数