使用IIS 7.5和URL Rewrite 2.0模块,我想在没有浏览器重定向的情况下将相对路径"/ myapp"重写为"/ myapp-public".
我在wwwroot中放置了以下web.config文件:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.web>
</system.web>
<system.webServer>
<rewrite>
<rules>
<rule name="Rewrite to public" stopProcessing="true">
<match url="^myapp" />
<action type="Rewrite" url="/myapp-public" />
</rule>
</rules>
</rewrite>
</system.webServer>
</configuration>
Run Code Online (Sandbox Code Playgroud)
IIS不会在服务器端重写URL,而是以"301 Moved Permanently"响应,将用户重定向到"/ myapp-public".它表现得好像我使用了"Redirect"类型的操作而不是"Rewrite".
有谁知道为什么"重写"动作会执行重定向?有关如何进一步调试此问题的任何想法?谢谢!
使用React Native应用程序(仅测试了使用生成的应用程序create-react-app),一些iPhone用户遇到了一个问题,即当通过蜂窝数据连接时,该应用程序几乎永远无法向我们的API发出Web请求。出现问题的域指向Amazon Elastic Load Balancer(第7层,SSL终止),后者指向Nginx反向代理(位于EKS Kubernetes集群内部)。该应用程序调用的其他API(例如Mapbox)可以在蜂窝数据上正常工作,包括在专用服务器上托管的其中一种。唯一不起作用的请求是我们ELB域上的请求。当用户切换到WiFi时,我们的应用是能够向该域发出Web请求。在均运行iOS 12.3.1的iPhone 7,iPhone 8和iPhone X上已经观察到这种情况。一种设备是Verizon,其他5种是AT&T。每个API调用都是HTTPS。删除并重新安装应用程序并重新启动设备不能解决问题。我们在所有情况下都确认了在Settings > Cellular > [App name]和中为该应用程序启用了蜂窝数据Settings > [App name] > Use Cellular Data。
该应用程序是使用React Native构建的,Web请求是通过cross-fetch库执行的。
我们能够找到有问题的设备并通过Xcode运行它。这是Xcode中捕获的错误堆栈的子集:
nw_connection_copy_connected_local_endpoint [C12] Connection has no local endpoint
2019-06-27 11:26:16.841347-0400 myapp[23700:1527268] [BoringSSL]
nw_protocol_boringssl_get_output_frames(1301) [C10.1:2][0x117d5a050] get output frames failed, state 8196
Run Code Online (Sandbox Code Playgroud)
2019-06-27 11:26:22.465855-0400 myapp[23700:1527305] [BoringSSL] nw_protocol_boringssl_error(1584) [C20.1:2][0x119b0e420] Lower protocol stack error: 54
2019-06-27 11:26:22.466665-0400 myapp[23700:1527305] TIC TCP Conn Failed [20:0x280022400]: 1:54 Err(54)
Run Code Online (Sandbox Code Playgroud)
2019-06-27 11:26:23.040101-0400 myapp[23700:1527399] Task <DD5FDD4A-1BE0-41ED-AAC4-9EB07F61F109>.<7> …Run Code Online (Sandbox Code Playgroud)