मैं IIS में प्रबंधित IIS कार्य का उपयोग करके https पुनर्निर्देशित नियम बनाने का प्रयास करने के लिए एक azure devops चरण का उपयोग कर रहा हूं।

मैं निम्नलिखित "अतिरिक्त appcmd.exe आदेश" का उपयोग कर रहा हूँ

set config -section:system.webServer/rewrite/rules /+"[name='http_redirect',enabled='True']" /commit:apphost

set config -section:system.webServer/rewrite/rules.[name='http_redirect'] /match.url:"(.*)" /match.ignoreCase:true /commit:apphost

set config -section:system.webServer/rewrite/rules.[name='http_redirect'].conditions/add /+"[input='{HTTPS}',pattern='off']" /commit:apphost

set config -section:system.webServer/rewrite/rules.[name='http_redirect'].action /+"[type='Redirect',url='https://{HOST_NAME}/{R:1}',redirectType='Found']" /commit:apphost

ऐसा लगता है कि पहला आदेश एक रिक्त नियम के रूप में चलता है, लेकिन दूसरा आदेश http_redirect नाम से नियम को खोजने का प्रयास करने में विफल रहता है।

0
MicroMan 16 सितंबर 2019, 09:28

1 उत्तर

सबसे बढ़िया उत्तर

आप विश्व स्तर पर URL पुनर्लेखन सेट करने के लिए नीचे दिए गए आदेश का उपयोग कर सकते हैं:

appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='http_redirect']" /commit:apphost
appcmd.exe set config  -section:system.webServer/rewrite/globalRules /[name='http_redirect'].match.url:"(.*)"  /commit:apphost

appcmd.exe set config  -section:system.webServer/rewrite/globalRules /+"[name='http_redirect'].conditions.[input='{HTTPS}',pattern='off']" /commit:apphost
appcmd.exe set config  -section:system.webServer/rewrite/globalRules /[name='http_redirect'].action.type:"Redirect" /[name='http_redirect'].action.url:"https://{HTTP_HOST}/{R:1}" /[name='http_redirect'].action.redirectType:"Found"  /commit:apphost

enter image description here

enter image description here

नोट: {HOST_NAME} का उपयोग न करें, {HTTP_HOST} का उपयोग करें।

विशिष्ट साइट के लिए आवेदन करने के लिए इस कमांड का उपयोग करें:

appcmd.exe set config "aspsite" -section:system.webServer/rewrite/rules /+"[name='http_redirect']" /commit:apphost


appcmd.exe set config "aspsite" -section:system.webServer/rewrite/rules /[name='http_redirect'].match.url:"(.*)"  /commit:apphost


appcmd.exe set config "aspsite" -section:system.webServer/rewrite/rules /+"[name='http_redirect'].conditions.[input='{HTTPS}',pattern='off']" /commit:apphost


appcmd.exe set config "aspsite" -section:system.webServer/rewrite/rules /[name='http_redirect'].action.type:"Redirect" /[name='http_redirect'].action.url:"https://{HOST_NAME}/{R:1}" /[name='http_redirect'].action.redirectType:"Found"  /commit:apphost

enter image description here

संपादित करें: नियम जोड़ने के लिए पावर-शेल कमांड:

import-module webAdministration
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webserver/rewrite/GlobalRules" -name "." -value @{name='HTTP to HTTPS Redirect'; patternSyntax='ECMAScript'; stopProcessing='True'}
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webserver/rewrite/GlobalRules/rule[@name='HTTP to HTTPS Redirect']/match" -name url -value "(.*)"
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webserver/rewrite/GlobalRules/rule[@name='HTTP to HTTPS Redirect']/conditions" -name "." -value @{input="{HTTPS}"; pattern='^OFF$'}
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/rewrite/globalRules/rule[@name='HTTP to HTTPS Redirect']/action" -name "type" -value "Redirect"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/rewrite/globalRules/rule[@name='HTTP to HTTPS Redirect']/action" -name "url" -value "https://{HTTP_HOST}/{R:1}"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.webServer/rewrite/globalRules/rule[@name='HTTP to HTTPS Redirect']/action" -name "redirectType" -value "SeeOther" 
1
Jalpa Panchal 17 सितंबर 2019, 01:52