diff --git a/deploy/host-nginx-8442-dingtalk.conf b/deploy/host-nginx-8442-dingtalk.conf index 3a0992ac..2b6c9344 100644 --- a/deploy/host-nginx-8442-dingtalk.conf +++ b/deploy/host-nginx-8442-dingtalk.conf @@ -15,7 +15,7 @@ server { error_page 497 = @plain_http_request; location @plain_http_request { - if ($uri != /auth/dingtalk/callback) { + if ($request_uri !~ "^/auth/dingtalk/callback(?:\\?|$)") { return 308 https://218.93.190.75:8442$request_uri; } diff --git a/tests/Unit/Deployment/DingTalkCallbackNginxTest.php b/tests/Unit/Deployment/DingTalkCallbackNginxTest.php index 40509f7a..023b9301 100644 --- a/tests/Unit/Deployment/DingTalkCallbackNginxTest.php +++ b/tests/Unit/Deployment/DingTalkCallbackNginxTest.php @@ -2,7 +2,7 @@ namespace Tests\Unit\Deployment; -use PHPUnit\Framework\TestCase; +use Tests\TestCase; class DingTalkCallbackNginxTest extends TestCase { @@ -11,7 +11,7 @@ class DingTalkCallbackNginxTest extends TestCase $config = file_get_contents(base_path('deploy/host-nginx-8442-dingtalk.conf')); $this->assertStringContainsString('error_page 497 = @plain_http_request;', $config); - $this->assertStringContainsString('if ($uri != /auth/dingtalk/callback)', $config); + $this->assertStringContainsString('if ($request_uri !~ "^/auth/dingtalk/callback(?:\\?|$)")', $config); $this->assertStringContainsString('proxy_set_header X-Forwarded-Proto http;', $config); $this->assertStringContainsString('return 308 https://218.93.190.75:8442$request_uri;', $config); }