vania-janet/multiturn-rag-retrieval-data huggingface dataset:
If you want to run your application or access the end point from a browser that is not on the private network, you must take these additional steps:



* Ensure your Cloud IaaS or SL account is [enabled for private endpoints](https://cloud.ibm.com/docs/account?topic=account-service-endpoints-overview).
* Create a virtual machine (VSI) that runs Linux
* Configure a user account with SSH access
* From your workstation, run ssh -D 2345 user@vsi-host This starts an SSH session and open a SOCKS proxy on port 2345 that forwards all traffic through the VSI
* Configure your browser or application to use a SOCKS5 proxy on localhost:2345
* Run your application or open the preferred private-endpoint in your browser (for example, a management UI).







 Using Virtual Private Endpoints 

Review the IBM Cloud® Databases [documentation on Virtual Private Endpoints (VPEs) here](https://cloud.ibm.com/docs/cloud-databases?topic=cloud-databases-vpes).
<-- </ol> --><-- </section "id="section-cloudant-template_test_trigger" "> --><-- </section "id="section-cloudant-template_test" "> --><-- </section "id="section-cloudant-template" "> --><-- <section "id="section-get-http-resource-template" "> --> Deploying the Get HTTP Resource template The Get HTTP Resource template creates an action, which takes as input a location parameter. The action is enabled as a web action, allowing it to be invoked with a URL, which is CORS enabled and does not need an authentication key, which is useful for building backend services for web applications.When you deploy this template, you create a single, web-enabled action called location. This action accepts a single parameter in JSON format, { "location": "xxxx" }.By default, the get-http-resource endpoint is publicly available to anyone who calls it.<-- <section "id="section-get-http-resource-template-ui" "> --> Deploying the Get HTTP Resource template from the console Use the console to deploy the Get HTTP Resource template.Before you beginSelect a namespace to contain your Cloud Functions entities from the console]]. For more information about namespaces, see Managing namespaces]] ! .<-- <ol> -->1. Go to the Create page]] ! ! ! ! in the Cloud Functions console.2. Click Quickstart templates.3. Click Get HTTP Resource.4. Enter a name for your package or use the default name get-http-resource.5. Choose the runtime for your actions.6.
* Select the Manage tab.
* Select Access (IAM).
* Click the Users tab in the navigation pane.
* Click the wanted User.
* Select the Classic infrastructure tab.
* From the Permissions tab, expand the Services category.
* Select Manage CDN Account.
* Click the Save button.



From the legacy console main page, follow these steps to edit permissions:



* Select the Account tab.
* Select Users > User List.
* Click the wanted Username.
* Select the Portal Permissions tab.
* Select the Services tab.
* Select Manage CDN Account.
* Click the Edit Portal Permissions button.



* Why is the Create button not shown or disabled on the Content Delivery Network page?

If you are the account's Master user, you must upgrade the account for the Create button to appear or be enabled on this page. From the IBM Cloud console page, follow these steps as the account's Master user:



* Open the navigation pane by clicking the triple bar icon in the upper left of the web page.
* Select Classic Infrastructure.
* Click the Upgrade Account button and follow the instructions.



If you are one of the account's secondary users, the account's Master user must give you the Add/Upgrade Services permission for the Create button to appear or be enabled on this page. From the IBM Cloud console page, the account's Master user can follow these steps to edit your permissions:



* Select the Manage tab.
* Select Access (IAM).
* Click the Users tab from navigation pane.
* Click the wanted User.
* Select the Classic infrastructure tab.
* From the Permissions tab, expand the Account category.
* Select Add/Upgrade Services.
* Click the Save button.



* Why am I unable to reach my web page through my CDN after configuring Hotlink Protection with protectionType ALLOW?

Let's consider an example in which your website's domain for users is configured to be your CDN's domain/hostname: cdn.example.com.
brew install --HEAD -s https://raw.githubusercontent.com/cloudflare/homebrew-cloudflare/master/curl.rb

Then, perform an HTTP/3 cURL with the --http3 command-line flag:

./curl -I https://blog.cloudflare.com/ --http3

Confirm HTTP/3 appears in the response and that there were no error messages.





Contribute in GitHub

Open doc issue

Edit topic





On this page[HTTP/2](https://cloud.ibm.com/docs/cis?topic=cis-http-conceptshttp-2)[HTTP/3](https://cloud.ibm.com/docs/cis?topic=cis-http-conceptshttp-3)


Feedback

Focus sentinel

 Give us your feedback 

Tell us about your experience0/1500



Don't include any sensitive or personal information.

How satisfied are you with your experience?

How satisfied are you with your experience?

1

2

3

4

5

info icon

Your feedback is carefully reviewed, but you won't be contacted in response. Need help? Try searching the docs or chatting with the Virtual Assistant in console.

Cancel

Submit

Focus sentinel Cookie Preferences

Your privacy choices

Your privacy choices

!
For a list of bare metal options, see [Available options for a bare metal server](https://cloud.ibm.com/docs/bare-metal?topic=bare-metal-about-bmoptions-for-bare-metal-servers).





 Step 1: Booting up your Bare Metal Server 

For this specific Bare Metal Server, you must use a browser that supports Java for classic. You can use the Safari browser on your local system or download a Java version that supports javaws.



1. [Download a Red Hat CoreOS ISO](https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/). Find the corresponding ISO version that matches the Red Hat OpenShift version that you want to use. For example, if you want to use version 4.11, [download a version of RHCOS for 4.11](https://mirror.openshift.com/pub/openshift-v4/x86_64/dependencies/rhcos/4.11/) like rhcos-4.11.9-x86_64-live.x86_64.iso.
2. Log in to your VPN to access to your host network. For more information, see [VPN access on IBM Cloud](https://www.ibm.com/cloud/vpn-access).
3. From the [Device list in the console](https://cloud.ibm.com/gen1/infrastructure/devices), select your bare metal server.
4. From the Overview page, note the networking values for your server. Find and verify the CIDR and gateway information.
5. Click Remote management and make note of the User and Password in the Management details section. You use this username and password in later steps.
6. Click the Actions icon !
For example, a web action that is used with the .http extension returns an HTTP response such as {error: { statusCode: 400 }. Failing to do so is a mismatch between the implied Content-Type from the extension and the action Content-Type in the error response. Special consideration must be given to web actions that are sequences so that components that make up a sequence can generate adequate errors when necessary.





 Disabling web actions 

You can disable web actions from both the CLI and the console.

To disable a web action from the CLI,

ibmcloud fn action update <packageName>/<actionName> <filepath>/<filename> --web false

To disable a web action from the console,



1. Go to the [Action page](https://cloud.ibm.com/functions/actions).
2. Click the web action that you want to disable.
3. On the Endpoints tab, clear the selection for Enable as Web Action.
4. Save your changes.







 Web action limits 

For more information about request and response limits for web actions, see [System details and limits](https://cloud.ibm.com/docs/openwhisk?topic=openwhisk-limitsweb_action_limits).
* Needs attention: a request needs to be signed or submitted (if all required signature have already been collected). The request might be to either your peers or ordering service, depending on the organizations in your console.
* Open: includes everything that needs attention as well as requests that have been signed by the user but still need to be signed by one or more other channel members.
* Closed: requests that have been submitted. No actions to be taken on these items. They can only be viewed.
* All: includes both open and closed requests.



If a channel configuration update request has been made, you have the ability to click on Review and update channel configuration and see the changes to the channel configuration update that are being proposed or have been made (if the new channel configuration has been approved). If you are an operator on the channel, and not enough signatures have been gathered to approve the channel configuration update request, you will have the ability to sign the update request.

You are not required to sign a channel configuration update, however note that there is no way to sign against a channel update. If you do not approve of a channel configuration update, you can simply close the panel and reach out to other channel operators out of band to voice your concerns. However, if enough operators in the channel approve of the update to satisfy the channel update policy, the new configuration will take effect.





 Channel configuration parameters you can update 

It's possible to change many, but not all, of the configuration parameters of a channel after the channel has been created. The Channel name, for example, cannot be edited, nor can the ordering service where the channel is hosted.

First thing you will see is the Organization updating channel panel. Here you will specify the organization (MSP) and admin identity that will be submitting this channel configuration update. From here, you can navigate down to the parameter you want to change, which includes all of the same parameters you specified when creating the channel other than the channel capabilities and the ordering service administrator, which are only available when updating a channel.

If your console is at a build before 2.1.3-104, you will not see the ordering service administrator option. To see the version of your build, click on the support icon in the upper right corner (it resembles a question mark).
Zoom

![Other Clouds Connect](https://cloud.ibm.com/docs-content/v1/content/d7287ec7418d843dbd7caf286d842c439df6979e/direct-link//images/Direct-Link-Connect-other-clouds.png)

Figure 4. Using Direct Link Connect in conjunction with other clouds

Some customers want to use Direct Link Exchange on Classic along with other cloud providers, such as AWS, Azure, or Google Cloud. The following schematic shows an overview of how to establish this type of connection with a Cloud Exchange provider.

Zoom

![Other Clouds Exchange](https://cloud.ibm.com/docs-content/v1/content/d7287ec7418d843dbd7caf286d842c439df6979e/direct-link//images/Direct-Link-Exchange-Other-Clouds.png)

Figure 3. Using IBM Cloud Direct Link Exchange in conjunction with other clouds
[Edit icon](https://cloud.ibm.com/docs-content/v1/content/d826dd464c32f9849223da7328a5779b31e76d28/iaas-vpn/images/icon_write.svg) to enter a new VPN password.
5. Click Apply to save your changes.







 Logging in to the VPN 

Now that the VPN access is configured, you can log in using your browser.



1. Open your web browser and click on any one of the [available VPN endpoints](https://www.ibm.com/cloud/vpn-access).

Supported operating systems and browser pairs are as follows:



* Vista/Win7/Win8/Win10/Win2003/Win2008: Chrome, 360SE, MSIE, Firefox
* Linux: Chrome, Firefox
* MacOS: Safari, Chrome



2. When prompted, enter the VPN login credentials that you configured in [Setting the VPN password](https://cloud.ibm.com/docs/iaas-vpnset-vpn-password).



* If you have a stand-alone MotionPro client installed, your client is launched automatically.
* If you do not have a client installed, the compatible version of the MotionPro client is available for you to download.



3. With the MotionPro client, dependent on your operating system, you can follow different steps to create a connection. For more information about connecting using a MotionPro client, see [Stand-alone clients](https://cloud.ibm.com/docs/iaas-vpn?topic=iaas-vpn-standalone-vpn-clients).
[Edit icon](https://cloud.ibm.com/docs-content/v1/content/d826dd464c32f9849223da7328a5779b31e76d28/iaas-vpn/images/icon_write.svg) to enter a new VPN password.
5. Click Apply to save your changes.







 Logging in to the VPN 

Now that the VPN access is configured, you can log in using your browser.



1. Open your web browser and click on any one of the [available VPN endpoints](https://www.ibm.com/cloud/vpn-access).

Supported operating systems and browser pairs are as follows:



* Vista/Win7/Win8/Win10/Win2003/Win2008: Chrome, 360SE, MSIE, Firefox
* Linux: Chrome, Firefox
* MacOS: Safari, Chrome



2. When prompted, enter the VPN login credentials that you configured in [Setting the VPN password](https://cloud.ibm.com/docs/iaas-vpn?topic=iaas-vpn-getting-startedset-vpn-password).



* If you have a stand-alone MotionPro client installed, your client is launched automatically.
* If you do not have a client installed, the compatible version of the MotionPro client is available for you to download.



3. With the MotionPro client, dependent on your operating system, you can follow different steps to create a connection. For more information about connecting using a MotionPro client, see [Stand-alone clients](https://cloud.ibm.com/docs/iaas-vpn?topic=iaas-vpn-standalone-vpn-clients).
"datetime": "2020-04-24T10:11:24Z",
"source": "waf",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
},
{
"action": "drop",
"clientAsn": "5089",
"clientCountryName": "GB",
"clientIP": "203.0.113.69",
"clientRequestPath": "/%3Cscript%3Ealert()%3C/script%3E",
"clientRequestQuery": "",
"datetime": "2020-04-24T10:11:24Z",
"source": "waf",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
},
{
"action": "log",
"clientAsn": "58224",
"clientCountryName": "IR",
"clientIP": "2.183.175.37",
"clientRequestPath": "/api/v2",
"clientRequestQuery": "",
"datetime": "2020-04-24T10:00:54Z",
"source": "waf",
"userAgent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/74.0.3729.169 Safari/537.36"
},
{
"action": "log",
add_header 'Access-Control-Allow-Headers' 'pragma';
add_header 'Access-Control-Max-Age' 1728000;

return 204;
}

 more location context configs

try_files $uri =404;
}

 more server context configs
}

 more http context configs
}

The previous example uses the map directive to avoid overusing the if Nginx statement. Now, when a CORS request is made to this server and matches that URI path, the server responds with the Access-Control-Allow-Origin header containing the value http://www.example.com, https://cdn.example.com, or http://dev.example.com, when the content is requested from http://www.example.com, https://cdn.example.com, http://dev.example.com, and so forth.





 Setting up CORS for CDN 

Zoom

![cors-through-cdn](https://cloud.ibm.com/docs-content/v1/content/006fd22ab2811b7d19804c763a00568b3da4c03a/CDN//images/cors-through-cdn.svg)

Figure 4: CORS for CDN

CDN is largely transparent to the CORS setup of the origin so it does not require a specific CDN configuration. If the CDN Edge server cannot find a cached response for the first request for some content, it forwards the request to the origin host. If the origin host is set up to handle CORS requests, and this request has the Origin header, then it should respond back to the Edge with a CORS header of Access-Control-Allow-Origin and the associated value. The overall response, including that header and value, is cached in the CDN. Any subsequent request for the object at the same URI path is served from the cache and includes the Access-Control-Allow-Origin header value that was originally received from the origin.





 Multiple CORS origin support
If the external service does not require a token, specify any string you want. You cannot leave this field empty.

If you want to see the secret as you enter it, click on the Show password icon ![view icon](https://cloud.ibm.com/docs-content/v1/content/icons/view.svg) before you start typing. After you save the secret, the string is replaced by asterisks and can't be viewed again.
8. In the Timeout field, specify the length of time (in seconds) you want the assistant to wait for a response from the webhook before returning an error. The timeout duration cannot be shorter than 1 second or longer than 30 seconds.
9. In the Headers section, add any headers that you want to pass to the service one at a time by clicking Add header.

For example, if the external application that you call returns a response, it might be able to send a response in multiple different formats. The webhook requires that the response is formatted in JSON. The following table illustrates how to add a header that indicates that you want the resulting value to be returned in JSON format.



Header example

 Header name Header value 

 Content-Type application/json 



The service automatically sends an Authorization header with a JWT; you do not need to add one. If you want to handle authorization yourself, add your own authorization header and it will be used instead.

After you save the header value, the string is replaced by asterisks and can't be viewed again.



Your webhook details are saved automatically.





 Testing the webhook 

Do extensive testing of your webhook before you enable it for an assistant that is being used in a production environment.

The webhook is triggered only when a message has been processed by your assistant, and a response is ready to be returned to the channel.

If you enable the setting that returns an error when the webhook call fails, the processing of the assistant is halted entirely if the webhook encounters any issues.
Determine how to cache a resource by setting TTLs, custom cache keys, and cache headers in a fetch request.

async function handleRequest(request) {
const url = new URL(request.url)

// Only use the path for the cache key, removing query strings
// and always store using HTTPS, for example, https://www.example.com/file-uri-here
const someCustomKey = https://${url.hostname}${url.pathname}

let response = await fetch(request, {
cf: {
// Always cache this fetch regardless of content type
// for a max of 5 seconds before revalidating the resource
cacheTtl: 5,
cacheEverything: true,
//Enterprise only feature, see Cache API for other plans
cacheKey: someCustomKey,
},
})
// Reconstruct the Response object to make its headers mutable.
response = new Response(response.body, response)

//Set cache control headers to cache on browser for 25 minutes
response.headers.set("Cache-Control", "max-age=1500")
return response
}

addEventListener("fetch", event => {
return event.respondWith(handleRequest(event.request))
})
Show more



 Caching HTML resources 

// Force CIS to cache an asset
fetch(event.request, { cf: { cacheEverything: true } })

Setting the cache level to Cache Everything overrides the default "cacheability" of the asset. For TTL, CIS still relies on headers set by the origin.





 Custom cache keys 

This feature is available only to enterprise customers.

A request's cache key is what determines if two requests are "the same" for caching purposes. If a request has the same cache key as some previous request, then we can serve the same cached response for both.

// Set cache key for this request to "some-string".
When you use the curl command to make a speech recognition request with the HTTP interface, you must specify the audio format with the Content-Type header, specify "Content-Type: application/octet-stream", or specify "Content-Type:". If you omit the header entirely, curl uses a default value of application/x-www-form-urlencoded. Most of the examples in this documentation continue to specify the format for speech recognition requests regardless of whether it's required.

This change applies to the following methods:



* /v1/recognize for WebSocket requests. The content-type field of the text message that you send to initiate a request over an open WebSocket connection is now optional.
* POST /v1/recognize for synchronous HTTP requests. The Content-Type header is now optional. (For multipart requests, the part_content_type field of the JSON metadata is also now optional.)
* POST /v1/recognitions for asynchronous HTTP requests. The Content-Type header is now optional.



For more information, see [Audio formats](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-audio-formatsaudio-formats-list).

Updates to Brazilian Portuguese broadband model for improved speech recognition
: The Brazilian Portuguese broadband model, pt-BR_BroadbandModel, was updated for improved speech recognition. By default, the service automatically uses the updated model for all recognition requests. If you have custom language or custom acoustic models that are based on this model, you must upgrade your existing custom models to take advantage of the updates by using the following methods:



* POST /v1/customizations/{customization_id}/upgrade_model
* POST /v1/acoustic_customizations/{customization_id}/upgrade_model



For more information, see [Upgrading custom models](https://cloud.ibm.com/docs/speech-to-text?topic=speech-to-text-custom-upgrade).

The customization_id parameter renamed to language_customization_id
"datetime": "2020-04-24T10:11:24Z",
"source": "waf",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
},
{
"action": "log",
"clientAsn": "5089",
"clientCountryName": "GB",
"clientIP": "203.0.113.69",
"clientRequestPath": "/%3Cscript%3Ealert()%3C/script%3E",
"clientRequestQuery": "",
"datetime": "2020-04-24T10:11:24Z",
"source": "waf",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
},
{
"action": "log",
"clientAsn": "5089",
"clientCountryName": "GB",
"clientIP": "203.0.113.69",
"clientRequestPath": "/%3Cscript%3Ealert()%3C/script%3E",
"clientRequestQuery": "",
"datetime": "2020-04-24T10:11:24Z",
"source": "waf",
"userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/80.0.3987.163 Safari/537.36"
},
In that case, the response headers might not include the CORS headers. Clear the cache in CDN for that path using CDN’s purge functionality, and retry the request from the client.

The Vary response header from your origin server can also cause unexpected behavior when fetching content through your CDN. Other than one specific exception, the CDN does not cache content (and its associated response header) from your origin server, if the server responds with a Vary header. Currently, our service removes the Vary header from the origin to render the object cacheable, if the object is one of the following file types: aif, aiff, au, avi, bin, bmp, cab, carb, cct, cdf, class, css, doc, dcr, dtd, exe, flv, gcf, gff, gif, grv, hdml, hqx, ico, ini, jpeg, jpg, js, mov, mp3, nc, pct, pdf, png, ppc, pws, swa, swf, txt, vbs, w32, wav, wbmp, wml, wmlc, wmls, wmlsc, xsd, zip, webp, jxr, hdp, wdp, pict, tif, tiff, mid, midi, ttf, eot, woff, otf, svg, svgz, jar, woff2, json. If the object to cache is not one of these file types, remove the Vary header from the origin server's response for that object and try again after using CDN's Purge functions.





 More information 



* [https://www.w3.org/TR/cors/](https://www.w3.org/TR/cors/)
* [https://w3c.github.io/webappsec-cors-for-developers/](https://w3c.github.io/webappsec-cors-for-developers/)