{"id":20699,"date":"2022-11-29T16:03:56","date_gmt":"2022-11-29T15:03:56","guid":{"rendered":"https:\/\/www.dbi-services.com\/blog\/?p=20699"},"modified":"2024-09-10T17:24:35","modified_gmt":"2024-09-10T15:24:35","slug":"oracle-http-server-ohs-12c-configure-full-ssl","status":"publish","type":"post","link":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/","title":{"rendered":"Oracle HTTP Server (OHS) 12c : Configure Full SSL"},"content":{"rendered":"\n<p>This blog describes how to configure an Oracle HTTP Server (OHS) 12c fronting a Fusion Middleware Forms and Reports in full SSL mode. This means, the HTTP Server listen in SSL and the mod_wl_ohs plugin is configured to connect to WebLogic Servers configured in SSL. As I did this configuration exercise for the <a href=\"https:\/\/www.dbi-services.com\/products\/yak\/\" target=\"_blank\" rel=\"noreferrer noopener\">YaK<\/a> weblogic_domain component, the configuration has been written in a ansible role using jinja templates.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-first-step-prepare-the-certificates-or-wallets\"><strong>First step: prepare the certificates or wallets:<\/strong><\/h2>\n\n\n\n<p>By default OHS uses a wallet containing a demo certificate to enable HTTPS. We will replace this demo certificate with a certificate from a certificate authority. As the Oracle HTTP Server is located on the same Unix server as the Fusion Middleware Forms &amp; Reports WebLogic Domain, we will use the WebLogic identity keystore to create the wallet.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [12,23,33,41]; title: ; notranslate\" title=\"\">\n- name: Create Wallet directory for SSL configuration\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  file: state=directory path={{ pv_target_jks_location }}\/wallet\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and ( pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true )\n  tags:\n    - fmw-ohs-configuration\n\n- name: Create Wallet file\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  shell: &quot;{{ pv_mw_home }}\/oracle_common\/bin\/orapki wallet create -wallet {{ pv_target_jks_location }}\/wallet -pwd {{ pv_weblogic_secrets.WalletPassword }} -auto_login&quot;\n  args:\n    creates: &#039;{{ pv_target_jks_location }}\/wallet\/ewallet.p12&#039;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and ( pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true )\n  tags:\n    - fmw-ohs-configuration\n\n- name: Check if identity JKS already imported in Wallet file\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  shell:\n    cmd: &quot;{{ pv_mw_home }}\/oracle_common\/bin\/orapki wallet display -wallet {{ pv_target_jks_location }}\/wallet&quot;\n    executable: \/bin\/bash\n  register: wallet_content\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and ( pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true )\n  changed_when: False\n  tags:\n    - fmw-ohs-configuration\n\n- name: Check if identity JKS already imported in Wallet file\n  set_fact:\n     wallet_imported: &quot;{{ wallet_content.stdout | regex_search( pv_ssl_details.ssl_domain_name) }}&quot;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and ( pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true )\n  tags:\n    - fmw-ohs-configuration\n\n- name: Import identity JKS in  Wallet file\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  shell: &quot;{{ pv_mw_home }}\/oracle_common\/bin\/orapki wallet jks_to_pkcs12 -wallet {{ pv_target_jks_location }}\/wallet -pwd {{ pv_weblogic_secrets.WalletPassword }} -keystore {{ pv_target_jks_location }}\/identity.jks -jkspwd {{ pv_weblogic_secrets.jks_id_pw }}&quot;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and ( pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true ) and (wallet_imported | length == 0)\n  tags:\n    - fmw-ohs-configuration\n\n\n<\/pre><\/div>\n\n\n<p>Line 12: orapki is used to create an empty wallet in auto-login mode. This mode is required for the Oracle HTTP Server to be able to handle it.<\/p>\n\n\n\n<p>Line 23: orapki is used in display mode to get the already imported certificates. This is done to avoid errors when the role is called several times.<\/p>\n\n\n\n<p>Line 33: Checks if the identity.jks keystore was already imported checking the result of the line 23.<\/p>\n\n\n\n<p>Line 41: This orapki command imports the  identity.jks if not already done.<\/p>\n\n\n\n<p>When the Oracle HTTP Server mod_wl_ohs connects to a WebLogic Domain configured in SSL, a second wallet needs to be used. This second wallet must contain the root certificate and intermediate certificate if some used for the site. <\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [4,13,15,23,25]; title: ; notranslate\" title=\"\">\n- name: Create mod_wl Wallet file\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  shell: &quot;{{ pv_mw_home }}\/oracle_common\/bin\/orapki wallet create -wallet {{ pv_target_jks_location }}\/mod_wl_wallet -auto_login_only&quot;\n  args:\n    creates: &#039;{{ pv_target_jks_location }}\/mod_wl_wallet\/cwallet.sso&#039;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and ( pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true )\n  tags:\n    - fmw-ohs-configuration\n- name: Import rootCa in  mod_wl_Wallet file\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  shell: &quot;{{ pv_mw_home }}\/oracle_common\/bin\/orapki wallet add -wallet {{ pv_target_jks_location }}\/mod_wl_wallet -trusted_cert -cert ~\/certs\/rootCA.crt -auto_login_only&quot;\n  register: rootCa_import\n  failed_when: rootCa_import.stdout | regex_search(&#039;Could not install trusted cert&#039;) and not( rootCa_import.stdout | regex_search(&#039;PKI-04003&#039;) )\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and ( pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true )\n  tags:\n    - fmw-ohs-configuration\n\n- name: Import intermediateCA in  mod_wl_Wallet file\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  shell: &quot;{{ pv_mw_home }}\/oracle_common\/bin\/orapki wallet add -wallet {{ pv_target_jks_location }}\/mod_wl_wallet -trusted_cert -cert ~\/certs\/intermediateCA.crt -auto_login_only&quot;\n  register: intermediateCA_import\n  failed_when: intermediateCA_import.stdout | regex_search(&#039;Could not install trusted cert&#039;) and not( intermediateCA_import.stdout | regex_search(&#039;PKI-04003&#039;) )\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and ( pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true )\n  tags:\n    - fmw-ohs-configuration\n\n<\/pre><\/div>\n\n\n<p>Line 4: orapki is used to create an empty wallet in auto_login mode only. <\/p>\n\n\n\n<p>line 13 and 15: The root CA certificate is imported and the command output checked for errors. PKI-04003 error is ignored as it means &#8220;already imported&#8221;.<\/p>\n\n\n\n<p>Line 23 and 25: Same as the previous lines but imports the intermediate certificate.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-second-step-configure-the-oracle-http-server-and-the-mod-wl-ohs-plugin\"><strong>Second step: Configure the Oracle HTTP Server and the mod_wl_ohs plugin<\/strong><\/h2>\n\n\n\n<p>This is done through three templates: ssl-conf.jnj2, forms-conf.jnj2 and reports-conf.jnj2.<br>The first one is the ssl.conf file adapted to the Unix server or Web Site. I will not give the full template here but just the line where the wallet is referenced by the SSLWallet declaration<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nSSLWallet &quot;{{ pv_target_jks_location }}\/wallet&quot;\n<\/pre><\/div>\n\n\n<p>The second and the third templates create the forms.conf and reports.conf in the moduleconf directory which makes them included by default in the http.conf file. If SSL is required, it changes the configuration to include the wallet created for the WLS module plugin.<\/p>\n\n\n\n<p>forms-conf.j2<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [6,7,8]; title: ; notranslate\" title=\"\">\n&amp;lt;IfModule weblogic_module&amp;gt;\n&amp;lt;Location \/forms&amp;gt;\n        SetHandler weblogic-handler\n        WebLogicHost {{ pv_adminHost }}\n{% if pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true %}\n        WebLogicPort {{ pv_weblogic_domain_details.instance_WLS_FORMS_SSL_port }}\n        SecureProxy ON\n        WLSSLWallet {{ pv_target_jks_location }}\/mod_wl_wallet\/\n{% else %}\n        WebLogicPort {{ pv_weblogic_domain_details.instance_WLS_FORMS_port }}\n{% endif %}\n&amp;lt;\/Location&amp;gt;\n&amp;lt;\/IfModule&amp;gt;\n\n<\/pre><\/div>\n\n\n<p>reports-conf.j2<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; highlight: [6,7,8]; title: ; notranslate\" title=\"\">\n&amp;lt;IfModule weblogic_module&amp;gt;\n&amp;lt;Location \/reports&amp;gt;\n        SetHandler weblogic-handler\n        WebLogicHost {{ pv_adminHost }}\n{% if pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true %}\n        WebLogicPort {{ pv_weblogic_domain_details.instance_WLS_REPORTS_SSL_port }}\n        SecureProxy ON\n        WLSSLWallet {{ pv_target_jks_location }}\/mod_wl_wallet\/\n{% else %}\n        WebLogicPort {{ pv_weblogic_domain_details.instance_WLS_REPORTS_port }}\n{% endif %}\n&amp;lt;\/Location&amp;gt;\n&amp;lt;\/IfModule&amp;gt;\n\n<\/pre><\/div>\n\n\n<p>In both templates, at lines 6, 7 and 8, there are the declaration of the WebLogic Server SSL listening port, the activation of the secured proxy and the wallet declaration.<\/p>\n\n\n\n<p>Those templates are used to update the Oracle HTTP Server configuration and the Oracle HTTP Server instance<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n- name: Install the Oracle HTTP Server mod_wl reports configuration\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  template:\n    src: &#039;reports.conf&#039;\n    dest: &#039;{{ pv_domain_home }}\/config\/fmwconfig\/components\/OHS\/{{ pv_weblogic_domain_details.ohs_instance_name }}\/moduleconf\/reports.conf&#039;\n    mode: &quot;u=rw,g=r&quot;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and pv_weblogic_domain_details.instance_WLS_REPORTS_port is defined\n  tags:\n    - fmw-ohs-configuration\n\n- name: Install the Oracle HTTP Instance mod_wl reports configuration\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  template:\n    src: &#039;reports.conf&#039;\n    dest: &#039;{{ pv_domain_home }}\/config\/fmwconfig\/components\/OHS\/instances\/{{ pv_weblogic_domain_details.ohs_instance_name }}\/moduleconf\/reports.conf&#039;\n    mode: &quot;u=rw,g=r&quot;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and pv_weblogic_domain_details.instance_WLS_REPORTS_port is defined\n  tags:\n    - fmw-ohs-configuration\n\n- name: Install the Oracle HTTP Server mod_wl forms configuration\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  template:\n    src: &#039;forms.conf&#039;\n    dest: &#039;{{ pv_domain_home }}\/config\/fmwconfig\/components\/OHS\/{{ pv_weblogic_domain_details.ohs_instance_name }}\/moduleconf\/forms.conf&#039;\n    mode: &quot;u=rw,g=r&quot;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and pv_weblogic_domain_details.instance_WLS_FORMS_port is defined\n  tags:\n    - fmw-ohs-configuration\n\n- name: Install the Oracle HTTP Instance mod_wl forms configuration\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  template:\n    src: &#039;forms.conf&#039;\n    dest: &#039;{{ pv_domain_home }}\/config\/fmwconfig\/components\/OHS\/instances\/{{ pv_weblogic_domain_details.ohs_instance_name }}\/moduleconf\/forms.conf&#039;\n    mode: &quot;u=rw,g=r&quot;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined and pv_weblogic_domain_details.instance_WLS_FORMS_port is defined\n  tags:\n    - fmw-ohs-configuration\n\n<\/pre><\/div>\n\n\n<p>After those configuration steps, a stop and start of the HTTP Server component  is required.<\/p>\n\n\n\n<p>During the testing of the configured environment, I have seen that some https requests were redirected to http.  The fact that the WebLogic Servers are fronted by a SSL configured Oracle HTTP Server requires the WLS Plugin to be enabled in both WLS_FORMS and WLS_REPORTS WebLogic Server.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n- name: configure WebLogic WLS Plugin\n  become: true\n  become_user: &#039;{{ pv_oracle_user }}&#039;\n  command: &quot;{{ pv_mw_home }}\/oracle_common\/common\/bin\/wlst.sh {{ pv_dmk_home }}\/wlst\/configureDomainWLSPlugin.py {{ pv_domain_name }}&quot;\n  environment:\n    WEBLOGIC_DOMAIN_DEF_DIR: &#039;{{ pv_domain_config_base }}&#039;\n  when: pv_weblogic_domain_details.ohs_instance_name is defined\n  tags:\n    - wls-ssl-config\n<\/pre><\/div>\n\n\n<p>configureDomainWLSPlugin.py<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\ndef configureServerWLSPlugin(serverName):\n    print &#039;&amp;gt;&amp;gt;&amp;gt; Managed Server: &#039; + serverName + &#039; Configuring WLS_plugin&#039;\n    cd(&#039;\/Servers\/&#039; + serverName )\n    cmo.setWeblogicPluginEnabled(true)\n    print &#039;&amp;gt;&amp;gt;&amp;gt; WebLogic Server: &#039; + serverName + &#039; WLS_plugin enabled !&#039;\n\ndef getAllServers():\n  domainConfig()\n  cd (&#039;\/&#039;)\n  return cmo.getServers()\n\ntry:\n    #Connect to AdminServer\n    connect(userConfigFile=CONFIG_FILE,userKeyFile=KEY_FILE,url=ADMIN_URL)\n    #connect()\n\n    redirect(&#039;\/dev\/null&#039;,&#039;false&#039;)\n    #Retrieve Server Names\n    servers = getAllServers()\n\n    # Start Edit Session\n    edit()\n    startEdit()\n    stopRedirect()\n\n    for server in servers:\n        configureServerWLSPlugin(server.name)\n\nexcept Exception, e:\n    print &quot;ERROR... check error messages for cause.&quot;\n    print e\n    exit(exitcode=1)\n\nredirect(&#039;\/dev\/null&#039;,&#039;false&#039;)\nsave()\nactivate()\ndisconnect()\nexit(exitcode=0)\n\n<\/pre><\/div>\n\n\n<p>Those changes required the WebLogic servers to be restarted a new time. But after this the Fusion Middleware Forms &amp; Reports WebLogic domain and front-end Oracle HTTP Server were fully configured in SSL. The last point was the login to Enterprise Manager not working  or better said looping indefinitely after the credentials were submitted. After some googling, I came over a Oracle Support note that said that if the WebLogic domain is totally configured in SSL, no HTTP port listening anymore, the connection between the Enterprise Manager and the WebLogic embedded ldap server using the libovd will not work due to the miss of the keystore to connect. This requires the libovdconfig.sh script to be executed. But this was not easy in ansible code as the libovdconfig.sh script doesn&#8217;t accept the username and password in silent mode. Found Oracle support note <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=1938474.1\">1938474.1<\/a> &#8220;How to Pass to the libovdconfig.sh Script a User and Password Using a File?&#8221; that provided me the solution. It requires the patch 31713426 &#8220;Oracle Virtual Directory Bug 31713426 libovd in SSL&#8221; to be installed and the script to be called as shown in the ansible code extract below. Be aware that this script works only if it can connect to the WebLogic Admin Server in non-SSL. So I had to run it before configuring my WebLogic domain in full SSL.<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n- name: Configure SSL access to libovd\n  become: true\n  become_user: &#039;root&#039;\n  shell: su - {{ pv_oracle_user }} -c &quot;export ORACLE_HOME={{pv_oracle_home}} &amp;amp;&amp;amp; echo -e &#039;{{ pv_weblogic_secrets.weblogic_admin_pass }}\\n{{ pv_weblogic_secrets.libovd_keystore_pass }}\\n&#039; | {{pv_oracle_home}}\/oracle_common\/bin\/libovdconfig.sh -host {{ pv_wls_host_fqdn }} -port {{ pv_weblogic_domain_details.admin_listen_port }}  -domainPath {{ pv_domain_home }} -userName {{ pv_weblogic_domain_details.weblogic_admin }} -createKeystore -silent&quot;\n  args:\n    creates: &quot;{{ pv_domain_home }}\/config\/fmwconfig\/ovd\/default\/keystores\/adapters.jks&quot;\n  when: pv_ssl_details.ssl_required is defined and pv_ssl_details.ssl_required == true\n  tags:\n    - fmw-ssl-preparation\n\n<\/pre><\/div>\n\n\n<p>I had still an issue with the login to Enterprise Manager due to the Java version used. Starting from JDK 1.8 u331 the URI parsing has been made strict. This is explained in Oracle Support note <a href=\"https:\/\/support.oracle.com\/epmos\/faces\/DocumentDisplay?id=2864307.1\" target=\"_blank\" rel=\"noreferrer noopener\">2864307.1<\/a> &#8220;13.5 EM Login Failure &#8211; An internal error has occurred ADFSHARE-00120 Malformed address&#8221;. An other patch to install, patch 34065178.<\/p>\n\n\n\n<p>I finally got it to work and was able to deploy the full stack using <a href=\"https:\/\/www.dbi-services.com\/products\/yak\/\" target=\"_blank\" rel=\"noreferrer noopener\">YaK<\/a> in 38 minutes on a on-premise virtual machine and a little bit more on a AWS or OCI compute instance due to my network bandwidth. <\/p>\n\n\n\n<p>Note that the Fusion Middleware repository is created in a Oracle 19c PDB database also created with <a href=\"https:\/\/www.dbi-services.com\/products\/yak\/\" target=\"_blank\" rel=\"noreferrer noopener\">YaK<\/a> <\/p>\n","protected":false},"excerpt":{"rendered":"<p>This blog describes how to configure an Oracle HTTP Server (OHS) 12c fronting a Fusion Middleware Forms and Reports in full SSL mode. This means, the HTTP Server listen in SSL and the mod_wl_ohs plugin is configured to connect to WebLogic Servers configured in SSL. As I did this configuration exercise for the YaK weblogic_domain [&hellip;]<\/p>\n","protected":false},"author":40,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1321,197,59,2748,2721],"tags":[2600,413,647,2717],"type_dbi":[],"class_list":["post-20699","post","type-post","status-publish","format-standard","hentry","category-ansible","category-application-integration-middleware","category-oracle","category-weblogic","category-yak","tag-ansible-2","tag-oracle-http-server","tag-weblogic","tag-yak-2"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.2 (Yoast SEO v27.4) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Oracle HTTP Server (OHS) 12c : Configure Full SSL - dbi Blog<\/title>\n<meta name=\"description\" content=\"How to configure a Oracle HTTP server font-ending a Fusion Middleware forms &amp; Reports in full SSL. This blogs provides ansible piece of code.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Oracle HTTP Server (OHS) 12c : Configure Full SSL\" \/>\n<meta property=\"og:description\" content=\"How to configure a Oracle HTTP server font-ending a Fusion Middleware forms &amp; Reports in full SSL. This blogs provides ansible piece of code.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/\" \/>\n<meta property=\"og:site_name\" content=\"dbi Blog\" \/>\n<meta property=\"article:published_time\" content=\"2022-11-29T15:03:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-09-10T15:24:35+00:00\" \/>\n<meta name=\"author\" content=\"Middleware Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Middleware Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/\"},\"author\":{\"name\":\"Middleware Team\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\"},\"headline\":\"Oracle HTTP Server (OHS) 12c : Configure Full SSL\",\"datePublished\":\"2022-11-29T15:03:56+00:00\",\"dateModified\":\"2024-09-10T15:24:35+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/\"},\"wordCount\":873,\"commentCount\":2,\"keywords\":[\"Ansible\",\"Oracle HTTP Server\",\"WebLogic\",\"yak\"],\"articleSection\":[\"Ansible\",\"Application integration &amp; Middleware\",\"Oracle\",\"WebLogic\",\"YaK\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/\",\"name\":\"Oracle HTTP Server (OHS) 12c : Configure Full SSL - dbi Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\"},\"datePublished\":\"2022-11-29T15:03:56+00:00\",\"dateModified\":\"2024-09-10T15:24:35+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\"},\"description\":\"How to configure a Oracle HTTP server font-ending a Fusion Middleware forms & Reports in full SSL. This blogs provides ansible piece of code.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/oracle-http-server-ohs-12c-configure-full-ssl\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Oracle HTTP Server (OHS) 12c : Configure Full SSL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#website\",\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/\",\"name\":\"dbi Blog\",\"description\":\"\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/#\\\/schema\\\/person\\\/8d8563acfc6e604cce6507f45bac0ea1\",\"name\":\"Middleware Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g\",\"caption\":\"Middleware Team\"},\"url\":\"https:\\\/\\\/www.dbi-services.com\\\/blog\\\/author\\\/middleware-team\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Oracle HTTP Server (OHS) 12c : Configure Full SSL - dbi Blog","description":"How to configure a Oracle HTTP server font-ending a Fusion Middleware forms & Reports in full SSL. This blogs provides ansible piece of code.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/","og_locale":"en_US","og_type":"article","og_title":"Oracle HTTP Server (OHS) 12c : Configure Full SSL","og_description":"How to configure a Oracle HTTP server font-ending a Fusion Middleware forms & Reports in full SSL. This blogs provides ansible piece of code.","og_url":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/","og_site_name":"dbi Blog","article_published_time":"2022-11-29T15:03:56+00:00","article_modified_time":"2024-09-10T15:24:35+00:00","author":"Middleware Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Middleware Team","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/#article","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/"},"author":{"name":"Middleware Team","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"headline":"Oracle HTTP Server (OHS) 12c : Configure Full SSL","datePublished":"2022-11-29T15:03:56+00:00","dateModified":"2024-09-10T15:24:35+00:00","mainEntityOfPage":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/"},"wordCount":873,"commentCount":2,"keywords":["Ansible","Oracle HTTP Server","WebLogic","yak"],"articleSection":["Ansible","Application integration &amp; Middleware","Oracle","WebLogic","YaK"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/","url":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/","name":"Oracle HTTP Server (OHS) 12c : Configure Full SSL - dbi Blog","isPartOf":{"@id":"https:\/\/www.dbi-services.com\/blog\/#website"},"datePublished":"2022-11-29T15:03:56+00:00","dateModified":"2024-09-10T15:24:35+00:00","author":{"@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1"},"description":"How to configure a Oracle HTTP server font-ending a Fusion Middleware forms & Reports in full SSL. This blogs provides ansible piece of code.","breadcrumb":{"@id":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.dbi-services.com\/blog\/oracle-http-server-ohs-12c-configure-full-ssl\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.dbi-services.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Oracle HTTP Server (OHS) 12c : Configure Full SSL"}]},{"@type":"WebSite","@id":"https:\/\/www.dbi-services.com\/blog\/#website","url":"https:\/\/www.dbi-services.com\/blog\/","name":"dbi Blog","description":"","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.dbi-services.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/www.dbi-services.com\/blog\/#\/schema\/person\/8d8563acfc6e604cce6507f45bac0ea1","name":"Middleware Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/ddcae7ba0f9d1a0e7ae707f0e689e4a9c95bb48ec49c8e6d9cc86d43f4121cb6?s=96&d=mm&r=g","caption":"Middleware Team"},"url":"https:\/\/www.dbi-services.com\/blog\/author\/middleware-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/20699","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/users\/40"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/comments?post=20699"}],"version-history":[{"count":22,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/20699\/revisions"}],"predecessor-version":[{"id":34677,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/posts\/20699\/revisions\/34677"}],"wp:attachment":[{"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/media?parent=20699"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/categories?post=20699"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/tags?post=20699"},{"taxonomy":"type","embeddable":true,"href":"https:\/\/www.dbi-services.com\/blog\/wp-json\/wp\/v2\/type_dbi?post=20699"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}