Правило перезаписи URL-адреса необходимо отключить и включить в IIS

Я автоматизирую создание URL Rewrite в тестовой среде. Я настраиваю его с помощью Powershell в IIS 8.5

Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site/App/MyApp/v1' -filter "system.webServer/rewrite/allowedServerVariables" -name "." -value @{name='HTTP_X_FORWARDED_FOR'}
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site/App/MyApp/v1' -filter "system.webServer/rewrite/rules" -name "." -value @{name='Add X-Forwarded-For Header';patternSyntax='Wildcard'}
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site/App/MyApp/v1' -filter "system.webServer/rewrite/rules/rule[@name='Add X-Forwarded-For Header']/match" -name "url" -value "*"
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -location 'Default Web Site/App/MyApp/v1' -filter "system.webServer/rewrite/rules/rule[@name='Add X-Forwarded-For Header']/serverVariables" -name "." -value @{name='HTTP_X_FORWARDED_FOR';value='{REMOTE_ADDR}';replace='False'}

Это создает правило, однако приложение IIS не работает при попытке сделать запрос.

Выдает ошибку 500,52.

enter image description here

Однако, если правило отключено и включено в UI все нормально. Что происходит?

0
задан 16 May 2017 в 17:37
1 ответ

Mã PowerShell của bạn có lỗi đánh máy ở dòng cuối cùng HTTP_X_ORWARDED_FOR phải là HTTP_X_FORWARDED_FOR

Trên IIS 10, điều này dẫn đến lỗi:

Lỗi HTTP 500.50 - Biến máy chủ "HTTP_X_ORWARDED_FOR" không được phép đặt. Thêm tên biến máy chủ vào danh sách biến máy chủ được phép.

Với PowerShell, bạn đang cập nhật ứng dụng applicationhost.config chung, khi sử dụng GUI, các thay đổi sẽ được ghi vào tệp web.config. Tôi không biết tại sao điều đó lại khắc phục được sự cố của bạn. Tôi vẫn gặp lỗi tương tự như trước.

Sửa lỗi chính tả và nó sẽ hoạt động.

0
ответ дан 5 December 2019 в 08:10

Теги

Похожие вопросы