CINXE.COM
NonRootPortBinding - HTTPD - Apache Software Foundation
<!DOCTYPE html> <html lang="en-GB" > <head> <title>NonRootPortBinding - HTTPD - Apache Software Foundation</title> <meta http-equiv="X-UA-Compatible" content="IE=EDGE,chrome=IE7"> <meta charset="UTF-8"> <meta id="confluence-context-path" name="confluence-context-path" content="/confluence"> <meta id="confluence-base-url" name="confluence-base-url" content="https://cwiki.apache.org/confluence"> <meta id="atlassian-token" name="atlassian-token" content="3b8fa471dd721cbb4088fc511e662ee375a7e823"> <meta id="confluence-space-key" name="confluence-space-key" content="HTTPD"> <script type="text/javascript"> var contextPath = '/confluence'; </script> <meta name="confluence-request-time" content="1732700553426"> <meta name="ajs-use-keyboard-shortcuts" content="true"> <meta name="ajs-com.comalatech.checklists-stats-friendApps" content="sr-rep" /><meta name="ajs-com.comalatech.checklists-stats-comalatechToken" content="58MXm8oJQZPF89Ok3XQ2VJfL50P7BA+oc1f6FvIawlzl7T8YLMzPse6w4ofpVR147G2297X2KNYVOfNkJHKMumEfkvFwyb2gffiM8ywDJfI5vs2wQ2xqo4CO0fPjwv3eFeXcTyHILzXCZ5wTUMNXiEat2npQ5GaW6csezo+PRiCnqAhpF6XXaIaRXsFC2GuKcgworYi3E/PUHOpTm1g8hp5H9KUpYyYn7HdHrGnQ7jyhKQTMcBkCm9d1lOn1ZBZvqL8Tpx36NvSYh7UgRTasCNLtg652WQUt/rjF6Ox3P5id1jwZJyIj9EUoeuaSW04iP4WOKfN6u4NdHd2jHk3lCg==" /><meta name="ajs-com.comalatech.checklists-stats-pluginLicenseType" content="PAID" /><meta name="ajs-com.comalatech.checklists-stats-licenseType" content="OPEN_SOURCE" /><meta name="ajs-com.comalatech.checklists-stats-checklistExcerptMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-timestamp" content="1732672800026" /><meta name="ajs-com.comalatech.checklists-stats-checklistAttributeMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-dev-mode" content="false" /><meta name="ajs-com.comalatech.checklists-trace" content="false" /><meta name="ajs-com.comalatech.checklists-stats-checklistLogMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-checklistWikiinputMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-checklistLabelMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-licenseSize" content="10000" /><meta name="ajs-com.comalatech.checklists-stats-checklistWikiMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-instanceId" content="782e50b8e4252e986d61834beb7b94ab" /><meta name="ajs-com.comalatech.checklists-stats-checklistMetadataMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-checklistPagelinkMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-checklistSelectMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-checklistMacroTotal" content="1" /><meta name="ajs-com.comalatech.checklists-stats-totalSpaces" content="444" /><meta name="ajs-com.comalatech.checklists-stats-app" content="chks" /><meta name="ajs-com.comalatech.checklists-stats-checklistInputMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-checklistIncludeMacroTotal" content="0" /><meta name="ajs-com.comalatech.checklists-stats-hostVersion" content="7.19.28" /><meta name="ajs-com.comalatech.checklists-stats-totalVersions" content="1012999" /><meta name="ajs-com.comalatech.checklists-stats-totalPages" content="251572" /><meta name="ajs-com.comalatech.checklists-stats-version" content="2.6.13" /><meta name="ajs-com.comalatech.checklists-stats-pluginLicenseSize" content="0" /> <meta name="ajs-is-confluence-admin" content="false"> <meta name="ajs-connection-timeout" content="10000"> <script type="text/x-template" title="gliffy-webpanel-footer"> <div class="gliffy-webpanel-footer"><span>This Confluence installation runs a Free Gliffy License - Evaluate the <a href="http://www.gliffy.com/products/confluence-plugin/">Gliffy Confluence Plugin</a> for your Wiki!</span></div> </script> <style>.ia-fixed-sidebar, .ia-splitter-left {width: 285px;}.theme-default .ia-splitter #main {margin-left: 285px;}.ia-fixed-sidebar {visibility: hidden;}</style> <meta name="ajs-discovered-plugin-features" content="$discoveredList"> <meta name="ajs-keyboardshortcut-hash" content="cf3f470089c6cd344bf2057f3509b93"> <meta name="ajs-page-title" content="NonRootPortBinding"> <meta name="ajs-latest-published-page-title" content="NonRootPortBinding"> <meta name="ajs-space-name" content="HTTPD"> <meta name="ajs-page-id" content="115522398"> <meta name="ajs-latest-page-id" content="115522398"> <meta name="ajs-content-type" content="page"> <meta name="ajs-parent-page-title" content="HTTPD Home"> <meta name="ajs-parent-page-id" content="62691416"> <meta name="ajs-space-key" content="HTTPD"> <meta name="ajs-max-number-editors" content="12"> <meta name="ajs-macro-placeholder-timeout" content="5000"> <meta name="ajs-jira-metadata-count" content="-1"> <meta name="ajs-from-page-title" content=""> <meta name="ajs-can-remove-page" content="false"> <meta name="ajs-can-remove-page-hierarchy" content="false"> <meta name="ajs-browse-page-tree-mode" content="view"> <meta name="ajs-shared-drafts" content="true"> <meta name="ajs-context-path" content="/confluence"> <meta name="ajs-base-url" content="https://cwiki.apache.org/confluence"> <meta name="ajs-version-number" content="7.19.28"> <meta name="ajs-build-number" content="8804"> <meta name="ajs-remote-user" content=""> <meta name="ajs-remote-user-key" content=""> <meta name="ajs-remote-user-has-licensed-access" content="false"> <meta name="ajs-remote-user-has-browse-users-permission" content="false"> <meta name="ajs-current-user-fullname" content=""> <meta name="ajs-current-user-avatar-url" content=""> <meta name="ajs-current-user-avatar-uri-reference" content="/confluence/images/icons/profilepics/anonymous.svg"> <meta name="ajs-static-resource-url-prefix" content="/confluence/s/-290brt/8804/noax5f/_"> <meta name="ajs-global-settings-attachment-max-size" content="20971520"> <meta name="ajs-global-settings-quick-search-enabled" content="true"> <meta name="ajs-user-locale" content="en_GB"> <meta name="ajs-user-timezone-offset" content="0"> <meta name="ajs-enabled-dark-features" content="site-wide.shared-drafts,site-wide.synchrony,migration-assistant.enable.assess-l1-cloud-tooling.feature,clc.quick.create,confluence.view.edit.transition,cql.search.screen,confluence-inline-comments-resolved,frontend.editor.v4,http.session.registrar,nps.survey.inline.dialog,confluence.efi.onboarding.new.templates,frontend.editor.v4.compatibility,atlassian.cdn.static.assets,pdf-preview,previews.sharing,previews.versions,file-annotations,confluence.efi.onboarding.rich.space.content,collaborative-audit-log,confluence.reindex.improvements,previews.conversion-service,editor.ajax.save,read.only.mode,graphql,previews.trigger-all-file-types,attachment.extracted.text.extractor,lucene.caching.filter,confluence.table.resizable,notification.batch,previews.sharing.pushstate,confluence-inline-comments-rich-editor,tc.tacca.dacca,site-wide.synchrony.opt-in,atlassian.webresource.twophase.js.i18n.disabled,confluence.denormalisedpermissions,file-annotations.likes,gatekeeper-ui-v2,v2.content.name.searcher,mobile.supported.version,confluence.editor.tinymce.tables,pulp,confluence-inline-comments,confluence-inline-comments-dangling-comment,quick-reload-inline-comments-flags,confluence.retention.rules"> <meta name="ajs-atl-token" content="3b8fa471dd721cbb4088fc511e662ee375a7e823"> <meta name="ajs-confluence-flavour" content="VANILLA"> <meta name="ajs-user-date-pattern" content="dd MMM yyyy"> <meta name="ajs-access-mode" content="READ_WRITE"> <meta name="ajs-render-mode" content="READ_WRITE"> <meta name="ajs-date.format" content="MMM dd, yyyy"> <link rel="shortcut icon" href="/confluence/s/-290brt/8804/noax5f/1/_/favicon.ico"> <link rel="icon" type="image/x-icon" href="/confluence/s/-290brt/8804/noax5f/1/_/favicon.ico"> <link rel="search" type="application/opensearchdescription+xml" href="/confluence/opensearch/osd.action" title="Apache Software Foundation"/> <meta name="ajs-create-issue-metadata-show-discovery" content="false"> <script> window.WRM=window.WRM||{};window.WRM._unparsedData=window.WRM._unparsedData||{};window.WRM._unparsedErrors=window.WRM._unparsedErrors||{}; WRM._unparsedData["com.atlassian.applinks.applinks-plugin:applinks-common-exported.entity-types"]="{\u0022singular\u0022:{\u0022refapp.charlie\u0022:\u0022Charlie\u0022,\u0022fecru.project\u0022:\u0022Crucible Project\u0022,\u0022fecru.repository\u0022:\u0022FishEye Repository\u0022,\u0022stash.project\u0022:\u0022Stash Project\u0022,\u0022generic.entity\u0022:\u0022Generic Project\u0022,\u0022confluence.space\u0022:\u0022Confluence Space\u0022,\u0022bamboo.project\u0022:\u0022Bamboo Project\u0022,\u0022jira.project\u0022:\u0022Jira Project\u0022},\u0022plural\u0022:{\u0022refapp.charlie\u0022:\u0022Charlies\u0022,\u0022fecru.project\u0022:\u0022Crucible Projects\u0022,\u0022fecru.repository\u0022:\u0022FishEye Repositories\u0022,\u0022stash.project\u0022:\u0022Stash Projects\u0022,\u0022generic.entity\u0022:\u0022Generic Projects\u0022,\u0022confluence.space\u0022:\u0022Confluence Spaces\u0022,\u0022bamboo.project\u0022:\u0022Bamboo Projects\u0022,\u0022jira.project\u0022:\u0022Jira Projects\u0022}}"; WRM._unparsedData["com.atlassian.analytics.analytics-client:programmatic-analytics-init.programmatic-analytics-data-provider"]="false"; WRM._unparsedData["com.atlassian.confluence.plugins.confluence-license-banner:confluence-license-banner-resources.license-details"]="{\u0022daysBeforeLicenseExpiry\u0022:0,\u0022daysBeforeMaintenanceExpiry\u0022:0,\u0022showLicenseExpiryBanner\u0022:false,\u0022showMaintenanceExpiryBanner\u0022:false,\u0022renewUrl\u0022:null,\u0022salesUrl\u0022:null}"; WRM._unparsedData["com.atlassian.plugins.atlassian-plugins-webresource-plugin:context-path.context-path"]="\u0022/confluence\u0022"; WRM._unparsedData["com.atlassian.analytics.analytics-client:policy-update-init.policy-update-data-provider"]="false"; WRM._unparsedData["com.atlassian.applinks.applinks-plugin:applinks-common-exported.authentication-types"]="{\u0022com.atlassian.applinks.api.auth.types.BasicAuthenticationProvider\u0022:\u0022Basic Access\u0022,\u0022com.atlassian.applinks.api.auth.types.TrustedAppsAuthenticationProvider\u0022:\u0022Trusted Applications\u0022,\u0022com.atlassian.applinks.api.auth.types.CorsAuthenticationProvider\u0022:\u0022CORS\u0022,\u0022com.atlassian.applinks.api.auth.types.OAuthAuthenticationProvider\u0022:\u0022OAuth\u0022,\u0022com.atlassian.applinks.api.auth.types.TwoLeggedOAuthAuthenticationProvider\u0022:\u0022OAuth\u0022,\u0022com.atlassian.applinks.api.auth.types.TwoLeggedOAuthWithImpersonationAuthenticationProvider\u0022:\u0022OAuth\u0022}"; WRM._unparsedData["com.atlassian.confluence.plugins.confluence-search-ui-plugin:confluence-search-ui-plugin-resources.i18n-data"]="{\u0022search.ui.recent.link.text\u0022:\u0022View more recently visited\u0022,\u0022search.ui.search.results.empty\u0022:\u0022We couldn\u0027\u0027t find anything matching \u005C\u0022{0}\u005C\u0022.\u0022,\u0022search.ui.filter.clear.selected\u0022:\u0022Clear selected items\u0022,\u0022search.ui.content.name.search.items.panel.load.all.top.items.button.text\u0022:\u0022Show more app results...\u0022,\u0022search.ui.filter.contributor.button.text\u0022:\u0022Contributor\u0022,\u0022search.ui.filter.space.current.label\u0022:\u0022CURRENT\u0022,\u0022search.ui.clear.input.button.text\u0022:\u0022Clear text\u0022,\u0022search.ui.search.results.clear.button\u0022:\u0022clear your filters.\u0022,\u0022help.search.ui.link.title\u0022:\u0022Search tips\u0022,\u0022search.ui.container.close.text\u0022:\u0022Close\u0022,\u0022search.ui.filter.date.month.text\u0022:\u0022The past month\u0022,\u0022search.ui.infinite.scroll.button.text\u0022:\u0022More results\u0022,\u0022search.ui.filter.date.button.text\u0022:\u0022Date\u0022,\u0022search.ui.filter.date.week.text\u0022:\u0022The past week\u0022,\u0022search.ui.result.subtitle.calendar\u0022:\u0022Team calendar\u0022,\u0022search.ui.filter.date.heading\u0022:\u0022Last modified within\u0022,\u0022search.ui.filter.space.input.label\u0022:\u0022Find spaces...\u0022,\u0022search.ui.generic.error\u0022:\u0022Something went wrong. Refresh the page, or contact your admin if this keeps happening.\u0022,\u0022search.ui.recent.spaces\u0022:\u0022Recent Spaces\u0022,\u0022search.ui.result.subtitle.space\u0022:\u0022Space\u0022,\u0022search.ui.filter.space.category.input.label\u0022:\u0022Find space categories...\u0022,\u0022search.ui.filter.space.archive.label\u0022:\u0022Search archived spaces\u0022,\u0022search.ui.filter.label\u0022:\u0022filter\u0022,\u0022search.ui.filter.date.all.text\u0022:\u0022Any time\u0022,\u0022search.ui.filter.date.hour.text\u0022:\u0022The past day\u0022,\u0022search.ui.filters.heading\u0022:\u0022Filter by\u0022,\u0022search.ui.filter.label.input.label\u0022:\u0022Find labels...\u0022,\u0022search.ui.recent.items.anonymous\u0022:\u0022Start exploring. Your search results will appear here.\u0022,\u0022search.ui.input.label\u0022:\u0022Search\u0022,\u0022search.ui.input.aria.label\u0022:\u0022Search, when you type, your results will be displayed below.\u0022,\u0022search.ui.search.result\u0022:\u0022{0,choice,1#{0} search result|1\u003c{0} search results}\u0022,\u0022search.ui.filter.label.button.text\u0022:\u0022Label\u0022,\u0022search.ui.container.clear.ariaLabel\u0022:\u0022Clear\u0022,\u0022search.ui.input.alert\u0022:\u0022Hit enter to search\u0022,\u0022search.ui.filter.no.result.text\u0022:\u0022We can\u0027\u0027t find anything matching your search\u0022,\u0022search.ui.result.subtitle.user\u0022:\u0022User profile\u0022,\u0022search.ui.filter.contributor.input.label\u0022:\u0022Find people...\u0022,\u0022search.ui.filter.content.type.button.text\u0022:\u0022Type\u0022,\u0022search.ui.filter.date.year.text\u0022:\u0022The past year\u0022,\u0022search.ui.advanced.search.link.text\u0022:\u0022Advanced search\u0022,\u0022search.ui.filter.space.button.text\u0022:\u0022Space\u0022,\u0022search.ui.search.results.clear.line2\u0022:\u0022Try a different search term or\u0022,\u0022search.ui.filter.space.category.button.text\u0022:\u0022Space category\u0022,\u0022search.ui.search.results.clear.line1\u0022:\u0022We couldn\u0027\u0027t find anything matching your search.\u0022,\u0022search.ui.content.name.search.items.panel.load.all.top.items.admin.button.text\u0022:\u0022Show more settings and app results...\u0022,\u0022search.ui.recent.pages\u0022:\u0022Recently visited\u0022,\u0022search.ui.search.result.anonymous\u0022:\u0022{0,choice,1#{0} search result|1\u003c{0} search results}. Have an account? {1}Log in{2} to expand your search.\u0022,\u0022search.ui.recent.items.empty\u0022:\u0022Start exploring. Pages and spaces you\u0027\u0027ve visited recently will appear here.\u0022,\u0022search.ui.filter.space.init.heading\u0022:\u0022recent spaces\u0022}"; WRM._unparsedData["com.atlassian.applinks.applinks-plugin:applinks-common-exported.applinks-types"]="{\u0022crowd\u0022:\u0022Crowd\u0022,\u0022confluence\u0022:\u0022Confluence\u0022,\u0022fecru\u0022:\u0022FishEye / Crucible\u0022,\u0022stash\u0022:\u0022Stash\u0022,\u0022jira\u0022:\u0022Jira\u0022,\u0022refapp\u0022:\u0022Reference Application\u0022,\u0022bamboo\u0022:\u0022Bamboo\u0022,\u0022generic\u0022:\u0022Generic Application\u0022}"; WRM._unparsedData["com.atlassian.confluence.plugins.synchrony-interop:synchrony-status-banner-loader.synchrony-status"]="false"; WRM._unparsedData["com.atlassian.applinks.applinks-plugin:applinks-common-exported.applinks-help-paths"]="{\u0022entries\u0022:{\u0022applinks.docs.root\u0022:\u0022https://confluence.atlassian.com/display/APPLINKS-082/\u0022,\u0022applinks.docs.diagnostics.troubleshoot.sslunmatched\u0022:\u0022SSL+and+application+link+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.oauthsignatureinvalid\u0022:\u0022OAuth+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.oauthtimestamprefused\u0022:\u0022OAuth+troubleshooting+guide\u0022,\u0022applinks.docs.delete.entity.link\u0022:\u0022Create+links+between+projects\u0022,\u0022applinks.docs.adding.application.link\u0022:\u0022Link+Atlassian+applications+to+work+together\u0022,\u0022applinks.docs.administration.guide\u0022:\u0022Application+Links+Documentation\u0022,\u0022applinks.docs.oauth.security\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.troubleshoot.application.links\u0022:\u0022Troubleshoot+application+links\u0022,\u0022applinks.docs.diagnostics.troubleshoot.unknownerror\u0022:\u0022Network+and+connectivity+troubleshooting+guide\u0022,\u0022applinks.docs.configuring.auth.trusted.apps\u0022:\u0022Configuring+Trusted+Applications+authentication+for+an+application+link\u0022,\u0022applinks.docs.diagnostics.troubleshoot.authlevelunsupported\u0022:\u0022OAuth+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.ssluntrusted\u0022:\u0022SSL+and+application+link+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.unknownhost\u0022:\u0022Network+and+connectivity+troubleshooting+guide\u0022,\u0022applinks.docs.delete.application.link\u0022:\u0022Link+Atlassian+applications+to+work+together\u0022,\u0022applinks.docs.adding.project.link\u0022:\u0022Configuring+Project+links+across+Applications\u0022,\u0022applinks.docs.link.applications\u0022:\u0022Link+Atlassian+applications+to+work+together\u0022,\u0022applinks.docs.diagnostics.troubleshoot.oauthproblem\u0022:\u0022OAuth+troubleshooting+guide\u0022,\u0022applinks.docs.diagnostics.troubleshoot.migration\u0022:\u0022Update+application+links+to+use+OAuth\u0022,\u0022applinks.docs.relocate.application.link\u0022:\u0022Link+Atlassian+applications+to+work+together\u0022,\u0022applinks.docs.administering.entity.links\u0022:\u0022Create+links+between+projects\u0022,\u0022applinks.docs.upgrade.application.link\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.diagnostics.troubleshoot.connectionrefused\u0022:\u0022Network+and+connectivity+troubleshooting+guide\u0022,\u0022applinks.docs.configuring.auth.oauth\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.insufficient.remote.permission\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.configuring.application.link.auth\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.diagnostics\u0022:\u0022Application+links+diagnostics\u0022,\u0022applinks.docs.configured.authentication.types\u0022:\u0022OAuth+security+for+application+links\u0022,\u0022applinks.docs.adding.entity.link\u0022:\u0022Create+links+between+projects\u0022,\u0022applinks.docs.diagnostics.troubleshoot.unexpectedresponse\u0022:\u0022Network+and+connectivity+troubleshooting+guide\u0022,\u0022applinks.docs.configuring.auth.basic\u0022:\u0022Configuring+Basic+HTTP+Authentication+for+an+Application+Link\u0022,\u0022applinks.docs.diagnostics.troubleshoot.authlevelmismatch\u0022:\u0022OAuth+troubleshooting+guide\u0022}}"; WRM._unparsedData["com.atlassian.confluence.plugins.confluence-feature-discovery-plugin:confluence-feature-discovery-plugin-resources.test-mode"]="false"; if(window.WRM._dataArrived)window.WRM._dataArrived();</script> <link rel="stylesheet" href="/confluence/s/6ae781c19260c87c2df2185688cf22d1-CDN/-290brt/8804/noax5f/35dbafbbc78d45870cb35c7d7200f6a7/_/download/contextbatch/css/_super,-com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer/batch.css" data-wrm-key="_super,-com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer" data-wrm-batch-type="context" media="all"> <link rel="stylesheet" href="/confluence/s/bbcc4b324a5a41fc0ad1bfb9c14f60b7-CDN/-290brt/8804/noax5f/3463efedda51c7056b1e351d39fff087/_/download/contextbatch/css/atl.confluence.plugins.pagetree-desktop,main,viewcontent,atl.general,page,atl.comments,-_super/batch.css?gatekeeper-ui-v2=true&highlightactions=true&hostenabled=true" data-wrm-key="atl.confluence.plugins.pagetree-desktop,main,viewcontent,atl.general,page,atl.comments,-_super" data-wrm-batch-type="context" media="all"> <link rel="stylesheet" href="/confluence/s/d41d8cd98f00b204e9800998ecf8427e-CDN/-290brt/8804/noax5f/3.9.4/_/download/batch/com.stiltsoft.confluence.handy.macros:handy-header-url-resources/com.stiltsoft.confluence.handy.macros:handy-header-url-resources.css" data-wrm-key="com.stiltsoft.confluence.handy.macros:handy-header-url-resources" data-wrm-batch-type="resource" media="all"> <script data-wrm-key="com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer" data-wrm-batch-type="resource" data-initially-rendered> !function(){"use strict";if("PerformanceObserver"in window){const e=[];window.__observedResources=e;const r=e=>"script"===e?"script":"css";new PerformanceObserver((n=>{n.getEntries().filter((({initiatorType:e,name:r})=>{const n="script"===e||((e,r)=>"link"===e&&"css"===new URL(r).pathname.split(".").pop())(e,r),i=new URL(location.href).origin===new URL(r).origin;return n&&i})).forEach((({name:n,transferSize:i,encodedBodySize:s,initiatorType:o})=>{e.push([i,s,n,r(o)])}))})).observe({type:"resource"})}}(); </script> <script src="/confluence/s/334fed6081c4845fc2054480d6113cd2-CDN/-290brt/8804/noax5f/35dbafbbc78d45870cb35c7d7200f6a7/_/download/contextbatch/js/_super,-com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer/batch.js?locale=en-GB" data-wrm-key="_super,-com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-perf-observer" data-wrm-batch-type="context" data-initially-rendered></script> <script src="/confluence/s/b27939cb1799efd5df9e051891a4cd0c-CDN/-290brt/8804/noax5f/3463efedda51c7056b1e351d39fff087/_/download/contextbatch/js/atl.confluence.plugins.pagetree-desktop,main,viewcontent,atl.general,page,atl.comments,-_super/batch.js?gatekeeper-ui-v2=true&highlightactions=true&hostenabled=true&locale=en-GB" data-wrm-key="atl.confluence.plugins.pagetree-desktop,main,viewcontent,atl.general,page,atl.comments,-_super" data-wrm-batch-type="context" data-initially-rendered></script> <script src="/confluence/s/7f66847e5bae0cb5645acbbad0252f77-CDN/-290brt/8804/noax5f/3.9.4/_/download/batch/com.stiltsoft.confluence.handy.macros:handy-header-url-resources/com.stiltsoft.confluence.handy.macros:handy-header-url-resources.js?locale=en-GB" data-wrm-key="com.stiltsoft.confluence.handy.macros:handy-header-url-resources" data-wrm-batch-type="resource" data-initially-rendered></script> <script src="/confluence/s/d41d8cd98f00b204e9800998ecf8427e-T/-290brt/8804/noax5f/2.6.13/_/download/batch/com.comalatech.checklists:analyticsResources/com.comalatech.checklists:analyticsResources.js" data-wrm-key="com.comalatech.checklists:analyticsResources" data-wrm-batch-type="resource" data-initially-rendered></script> <script type="module">WRM.requireLazily(["wr!com.atlassian.plugins.atlassian-plugins-webresource-rest:data-collector-async"])</script> <meta name="ajs-site-title" content="Apache Software Foundation" /> <link rel="canonical" href="https://cwiki.apache.org/confluence/display/HTTPD/NonRootPortBinding"> <link rel="shortlink" href="https://cwiki.apache.org/confluence/x/XrviBg"> <meta name="wikilink" content="[HTTPD:NonRootPortBinding]"> <meta name="page-version" content="1"> <meta name="ajs-page-version" content="1"> </head> <body id="com-atlassian-confluence" class="theme-default aui-layout aui-theme-default"> <div id='stp-licenseStatus-banner'></div> <div id="page"> <div id="full-height-container"> <div id="header-precursor"> <div class="cell"> </div> </div> <header id="header" role="banner"> <a class="aui-skip-link" href="https://cwiki.apache.org/confluence/login.action?os_destination=%2Fdisplay%2FHTTPD%2FNonRootPortBinding">Log in</a> <a class="aui-skip-link" href="#nav-sidebar">Skip to sidebar</a> <a class="aui-skip-link" href="#main">Skip to main content</a> <nav class="aui-header aui-dropdown2-trigger-group" aria-label="Site"><div class="aui-header-inner"><div class="aui-header-before"><button class=" aui-dropdown2-trigger app-switcher-trigger aui-dropdown2-trigger-arrowless" aria-controls="app-switcher" aria-haspopup="true" role="button" data-aui-trigger href="#app-switcher"><span class="aui-icon aui-icon-small aui-iconfont-appswitcher">Linked Applications</span></button><div id="app-switcher" class="aui-dropdown2 aui-style-default" role="menu" hidden data-is-user-admin="false" data-is-switcher="true"><div class="app-switcher-loading">Loading…</div></div></div><div class="aui-header-primary"><span id="logo" class="aui-header-logo aui-header-logo-confluence"><a href="/confluence/" aria-label="Go to home page"><span class="aui-header-logo-device">Apache Software Foundation</span></a></span><ul class="aui-nav"> <li> <a id="space-directory-link" href="/confluence/spacedirectory/view.action" class=" aui-nav-imagelink" title="Spaces"> <span>Spaces</span> </a> </li> <li class="aui-buttons"> </li> </ul> </div><div class="aui-header-secondary"><ul class="aui-nav"> <li> <div id="search-ui" class="aui-quicksearch dont-default-focus header-quicksearch"><button id="quick-search-query-button" aria-label="Search" aria-haspopup= "dialog" aria-controls="search_drawer" ></button><input id="quick-search-query" aria-label="Search" placeholder="Search" type="text" aria-haspopup= "dialog" aria-controls="search_drawer" /><div id="quick-search-alert" role="alert">Hit enter to search</div><aui-spinner size="small"></aui-spinner></div> </li> <li> <a id="help-menu-link" class="aui-nav-link aui-dropdown2-trigger aui-dropdown2-trigger-arrowless" href="#" aria-haspopup="true" aria-owns="help-menu-link-content" title="Help"> <span class="aui-icon aui-icon-small aui-iconfont-question-filled">Help</span> </a> <nav id="help-menu-link-content" class="aui-dropdown2 aui-style-default"> <div class="aui-dropdown2-section"> <ul id="help-menu-link-leading" class="aui-list-truncate section-leading first"> <li> <a id="confluence-help-link" href="https://docs.atlassian.com/confluence/docs-719/" class=" " title="Visit the Confluence documentation home" target="_blank" > Online Help </a> </li> <li> <a id="keyboard-shortcuts-link" href="/confluence" class=" " title="View available keyboard shortcuts" > Keyboard Shortcuts </a> </li> <li> <a id="feed-builder-link" href="/confluence/dashboard/configurerssfeed.action" class=" " title="Create your custom RSS feed." > Feed Builder </a> </li> <li> <a id="whats-new-menu-link" href="https://docs.atlassian.com/confluence/docs-719/help.whats.new.iframe.link" class=" " title="" > What’s new </a> </li> <li> <a id="whats-new-menu-link" href="https://confluence.atlassian.com/display/DOC/Confluence+7.19+Release+Notes" class=" " title="" > What’s new </a> </li> <li> <a id="gadget-directory-link" href="/confluence" class=" user-item administration-link " title="Browse gadgets provided by Confluence" > Available Gadgets </a> </li> <li> <a id="confluence-about-link" href="/confluence/aboutconfluencepage.action" class=" " title="Get more information about Confluence" > About Confluence </a> </li> </ul> </div> </nav> </li> <li> </li> <li> </li> <li> <li> <a id="login-link" href="/confluence/login.action?os_destination=%2Fdisplay%2FHTTPD%2FNonRootPortBinding" class=" user-item login-link " title="" > Log in </a> </li> </li> </ul> </div></div><!-- .aui-header-inner--></nav><!-- .aui-header --> <br class="clear"> </header> <div class="ia-splitter"> <div class="ia-splitter-left"> <div class="ia-fixed-sidebar" role="complementary" aria-label=sidebar> <div class="acs-side-bar ia-scrollable-section"><div class="acs-side-bar-space-info tipsy-enabled" data-configure-tooltip="Edit space details"><div class="avatar"><div class="space-logo" data-key="HTTPD" data-name="HTTPD" data-entity-type="confluence.space"><div class="avatar-img-container"><div class="avatar-img-wrapper"><a href="/confluence/display/HTTPD/Home" title="HTTPD"><img class="avatar-img" src="/confluence/images/logo/default-space-logo.svg" alt="HTTPD"></a></div></div></div></div><div class="space-information-container"><div class="name"><a href="/confluence/display/HTTPD/Home" title="HTTPD">HTTPD</a></div><div class="flyout-handle icon aui-icon aui-icon-small aui-iconfont-edit"></div></div></div><div class="acs-side-bar-content"><div class="acs-nav-wrapper"><div class="acs-nav" data-has-create-permission="false" data-quick-links-state="null" data-page-tree-state="null" data-nav-type="page-tree"><div class="acs-nav-sections"><div class="main-links-section "><ul class="acs-nav-list"><li class="acs-nav-item wiki current-item" aria-current="true" data-collector-key="spacebar-pages"><a class="acs-nav-item-link tipsy-enabled" href="/confluence/collector/pages.action?key=HTTPD" data-collapsed-tooltip="Pages"><span class="icon"></span><span class="acs-nav-item-label">Pages</span></a></li><li class="acs-nav-item blog" data-collector-key="spacebar-blogs"><a class="acs-nav-item-link tipsy-enabled" href="/confluence/pages/viewrecentblogposts.action?key=HTTPD" data-collapsed-tooltip="Blog"><span class="icon"></span><span class="acs-nav-item-label">Blog</span></a></li></ul></div><div class="quick-links-wrapper"></div></div></div></div><div class="ia-secondary-container tipsy-enabled" data-tree-type="page-tree"><div class="ia-secondary-header"><h2 class="ia-secondary-header-title page-tree"><span class="icon"></span><span class="label">Page tree</span></h2></div><div class="ia-secondary-content"> <div class="plugin_pagetree conf-macro output-inline" data-hasbody="false" data-macro-name="pagetree"> <div class="plugin_pagetree_children_list plugin_pagetree_children_list_noleftspace"> <div class="plugin_pagetree_children"> </div> </div> <fieldset class="hidden"> <input type="hidden" name="treeId" value="" /> <input type="hidden" name="treeRequestId" value="/confluence/plugins/pagetree/naturalchildren.action?decorator=none&excerpt=false&sort=position&reverse=false&disableLinks=false&expandCurrent=true&placement=sidebar" /> <input type="hidden" name="treePageId" value="115522398" /> <input type="hidden" name="noRoot" value="true" /> <input type="hidden" name="rootPageId" value="0" /> <input type="hidden" name="rootPage" value="" /> <input type="hidden" name="startDepth" value="0" /> <input type="hidden" name="spaceKey" value="HTTPD" /> <input type="hidden" name="i18n-pagetree.loading" value="Loading..." /> <input type="hidden" name="i18n-pagetree.error.permission" value="Unable to load page tree. It seems that you do not have permission to view the root page." /> <input type="hidden" name="i18n-pagetree.eeror.general" value="There was a problem retrieving the page tree. Please check the server log file for more information." /> <input type="hidden" name="loginUrl" value="/confluence/login.action?os_destination=%2Fpages%2Fviewpage.action%3FspaceKey%3DHTTPD%26title%3DNonRootPortBinding&permissionViolation=true" /> <input type="hidden" name="mobile" value="false" /> <input type="hidden" name="placement" value="sidebar" /> <fieldset class="hidden"> <input type="hidden" name="ancestorId" value="62691416" /> </fieldset> </fieldset> </div> </div></div></div><div class="hidden"><a href="/confluence/collector/pages.action?key=HTTPD" id="space-pages-link"></a><script type="text/x-template" title="logo-config-content"><h2>Space Details</h2><div class="personal-space-logo-hint">Your profile picture is used as the logo for your personal space. <a href="/confluence/users/profile/editmyprofilepicture.action" target="_blank">Change your profile picture</a>.</div></script></div></div><div class="space-tools-section"><div id="space-tools-menu-additional-items" class="hidden"><div data-label="Browse pages" data-class="" data-href="/confluence/pages/reorderpages.action?key=HTTPD">Browse pages</div></div><button id="space-tools-menu-trigger" class=" aui-dropdown2-trigger aui-button aui-button-subtle tipsy-enabled aui-dropdown2-trigger-arrowless " aria-controls="space-tools-menu" aria-haspopup="true" role="button" data-aui-trigger><span class="aui-icon aui-icon-small aui-iconfont-configure">Configure</span><span class="aui-button-label">Space tools</span><span class="aui-icon "></span></button><div id="space-tools-menu" class="aui-dropdown2 aui-style-default space-tools-dropdown" role="menu" hidden data-aui-alignment="top left"></div><a href="#" role="button" class="expand-collapse-trigger aui-icon aui-icon-small aui-iconfont-chevron-double-left" aria-expanded="true"></a></div> </div> </div> <!-- \#header --> <main role="main" id="main" class=" aui-page-panel"> <div id="main-header"> <div id="navigation" class="content-navigation view" role="region" aria-label="Page tools"> <ul class="ajs-menu-bar"> <li class="normal ajs-menu-item"> <a id="action-menu-link" class="action aui-dropdown2-trigger-arrowless aui-button aui-button-subtle ajs-menu-title aui-dropdown2-trigger" href="#" aria-haspopup="true" aria-label="More options" aria-owns="action-menu" data-container="#navigation"> <span> <span class="aui-icon aui-icon-small aui-iconfont-more" aria-label="More options"></span> </span> </a> <div id="action-menu" class="aui-dropdown2 aui-style-default" aria-hidden="true"> <div class="aui-dropdown2-section"> <ul id="action-menu-primary" class="section-primary first"> <li> <a id="view-attachments-link" href="/confluence/pages/viewpageattachments.action?pageId=115522398" rel="nofollow" class="action-view-attachments" accessKey="t" title="View Attachments" > <span> A<u>t</u>tachments (0) </span> </a> </li> <li> <a id="action-view-history-link" href="/confluence/pages/viewpreviousversions.action?pageId=115522398" rel="nofollow" class="action-view-history" title="" > <span> Page History </span> </a> </li> </ul> </div> <div class="aui-dropdown2-section"> <ul id="action-menu-secondary" class="section-secondary"> <li> <a id="view-resolved-comments" href="/confluence" rel="nofollow" class="" title="" > <span> Resolved comments </span> </a> </li> <li> <a id="view-page-info-link" href="/confluence/pages/viewinfo.action?pageId=115522398" rel="nofollow" class="action-view-info" title="" > <span> Page Information </span> </a> </li> <li> <a id="view-in-hierarchy-link" href="/confluence/pages/reorderpages.action?key=HTTPD&openId=115522398#selectedPageInHierarchy" rel="nofollow" class="" title="" > <span> View in Hierarchy </span> </a> </li> <li> <a id="action-view-source-link" href="/confluence/plugins/viewsource/viewpagesrc.action?pageId=115522398" rel="nofollow" class="action-view-source popup-link" title="" > <span> View Source </span> </a> </li> <li> <a id="delete-all-comments-link-link" href="/confluence/plugins/aptis/deleteAllComments/ask-user.action?pageId=115522398" rel="nofollow" class="" title="" > <span> Delete comments </span> </a> </li> <li> <a id="action-export-pdf-link" href="/confluence/spaces/flyingpdf/pdfpageexport.action?pageId=115522398" rel="nofollow" class="" title="" > <span> Export to PDF </span> </a> </li> <li> <a id="action-export-word-link" href="/confluence/exportword?pageId=115522398" rel="nofollow" class="action-export-word" title="" > <span> Export to Word </span> </a> </li> </ul> </div> <div class="aui-dropdown2-section"> <ul id="action-menu-modify" class="section-modify"> <li> <a id="treecopy-action" href="/confluence/plugins/tree-copy/preparing-copying.action?pageId=115522398" rel="nofollow" class="" title="" > <span> Copy Page Tree </span> </a> </li> </ul> </div> </div> </li> </ul> </div> <div id="title-heading" class="pagetitle with-breadcrumbs"> <div id="breadcrumb-section"> <nav aria-label="Breadcrumbs"> <ol id="breadcrumbs"> <li class="first" > <span class=""><a href="/confluence/collector/pages.action?key=HTTPD">Pages</a></span> <li> <span class=""><a href="/confluence/display/HTTPD/HTTPD+Home">HTTPD Home</a></span> </ol> </nav> </div> <div id="page-metadata-banner"><ul class="banner"><li id="system-content-items" class="noprint"><a href="" title="Unrestricted" id="content-metadata-page-restrictions-hidden" class="hidden"></a></li><li class="page-metadata-item noprinthas-button" id="content-metadata-jira-wrapper"><a href="" title="" id="content-metadata-jira" class="aui-button aui-button-subtle content-metadata-jira tipsy-disabled hidden"><span>Jira links</span></a></li></ul></div> <h1 id="title-text" class="with-breadcrumbs"> <a href="/confluence/display/HTTPD/NonRootPortBinding">NonRootPortBinding</a> </h1> </div> </div><!-- \#main-header --> <div id="sidebar-container"> </div><!-- \#sidebar-container --> <div id="content" class="page view"> <div id="action-messages"> </div> <script type="text/x-template" title="searchResultsGrid"> <table class="aui"> <thead> <tr class="header"> <th class="search-result-title">Page Title</th> <th class="search-result-space">Space</th> <th class="search-result-date">Updated</th> </tr> </thead> </table> </script> <script type="text/x-template" title="searchResultsGridCount"> <p class="search-result-count">{0}</p> </script> <script type="text/x-template" title="searchResultsGridRow"> <tr class="search-result"> <td class="search-result-title"><a href="{1}" class="content-type-{2}"><span>{0}</span></a></td> <td class="search-result-space"><a class="space" href="/confluence/display/{4}/" title="{3}">{3}</a></td> <td class="search-result-date"><span class="date" title="{6}">{5}</span></td> </tr> </script> <div class="page-metadata"> <ul> <li class="page-metadata-modification-info"> Created by <span class='author'> <a href=" /confluence/display/~infrabot " aria-label="created by ASF Infrabot" class="url fn" >ASF Infrabot</a></span> on <a class='last-modified' aria-label='modified on May 22, 2019, select to show changes' title='Show changes' href='/confluence/pages/viewpreviousversions.action?pageId=115522398'>May 22, 2019</a> </li> </ul> </div> <div id="main-content" class="wiki-content"> <h2 id="NonRootPortBinding-Whatyouneed">What you need</h2> <p>You need two things:</p> <ul> <li>Linux with “POSIX capabilities”;</li> <li>utilities to manipulate these capabilities. <br class="atl-forced-newline"/> <br class="atl-forced-newline"/></li> </ul> <p>Here, we will use:</p> <ul> <li>Linux - any distribution will do, as long as it has a recent kernel compiled with POSIX capabilities (so beware if you use a custom kernel);</li> <li>the setcap(8) and getcap(8) utilities. <br class="atl-forced-newline"/></li> </ul> <p>We suppose that you have Apache installed, and that the httpd binary is <code>/usr/sbin/httpd</code>. Some distributions put it in another location (Debian, for instance, uses <code>/usr/sbin/apache2</code>).</p> <h2 id="NonRootPortBinding-Firststep:addcapabilitiestothehttpdbinary">First step: add capabilities to the httpd binary</h2> <p>The capabilities are added per file. This is why we need to modify the httpd binary itself. The capability we need to add is <code>CAP_NET_BIND_SERVICE</code>, which is explicitly defined as the capacity for an executable to bind to a port less than 1024.</p> <p>You need to be root to do that, so first, be root. Then, add the capability to the httpd binary:</p> <div class="preformatted panel conf-macro output-block" data-hasbody="true" data-macro-name="noformat" style="border-width: 1px;"><div class="preformattedContent panelContent"> <pre>root@myhost # setcap cap_net_bind_service=+ep /usr/sbin/httpd </pre> </div></div> <p>Check that the capability is added:</p> <div class="preformatted panel conf-macro output-block" data-hasbody="true" data-macro-name="noformat" style="border-width: 1px;"><div class="preformattedContent panelContent"> <pre>root@myhost # getcap /usr/sbin/httpd /usr/sbin/httpd = cap_net_bind_service+ep </pre> </div></div> <h2 id="NonRootPortBinding-Secondstep:preparingyourenvironment">Second step: preparing your environment</h2> <p>NOTE: this section assumes a Fedora, Red Hat or derivate distribution. Adapt instructions below accordingly.</p> <p>Login as root. Choose a user with which you want to run Apache (create one if needed). It can be a system only user (ie, no shell), but for testing purposes:</p> <ul> <li>we will use a regular user, named <code>test</code>,</li> <li>we will use the bundled package configuration. <br class="atl-forced-newline"/></li> </ul> <p>Start by ensuring that httpd is NOT currently running (<code>service httpd status</code>). Then copy over the system apache configuration to the user's home (we use it since it binds to port 80 by default, which is what we want to test):</p> <div class="preformatted panel conf-macro output-block" data-hasbody="true" data-macro-name="noformat" style="border-width: 1px;"><div class="preformattedContent panelContent"> <pre>root@myhost # cp -a /etc/httpd ~test/ root@myhost # chown -R test ~test/httpd </pre> </div></div> <p>Then login as <code>test</code>. Modify the environment:</p> <div class="preformatted panel conf-macro output-block" data-hasbody="true" data-macro-name="noformat" style="border-width: 1px;"><div class="preformattedContent panelContent"> <pre># logs and run are symlinks to directories the test user cannot write to, remove the symlinks and create directories instead test@myhost $ cd httpd test@myhost $ rm -f logs run test@myhost $ mkdir logs run </pre> </div></div> <p>Now, test that you can run it:</p> <div class="preformatted panel conf-macro output-block" data-hasbody="true" data-macro-name="noformat" style="border-width: 1px;"><div class="preformattedContent panelContent"> <pre>test@myhost $ pwd /home/test/httpd test@myhost $ httpd -d $(pwd) -DNO_DETACH </pre> </div></div> <p>Apache will then run in the foreground. If it quits immediately, check the console output, or <code>logs/error_log</code>: fix errors (very probably a permission problem) and try again.</p> <p>You're done!</p> <h2 id="NonRootPortBinding-Reverting">Reverting</h2> <p>Use <code>setcap</code> again, to remove the capability:</p> <div class="preformatted panel conf-macro output-block" data-hasbody="true" data-macro-name="noformat" style="border-width: 1px;"><div class="preformattedContent panelContent"> <pre>root@myhost # setcap cap_net_bind_service=-ep /usr/sbin/httpd </pre> </div></div> <h2 id="NonRootPortBinding-Caveats">Caveats</h2> <ul> <li>with this setup, <em>any</em> nonprivileged user can now run Apache on privileged ports. So, be very careful about what you do. Additionally, you can further restrict execution of the httpd binary, either using standard credentials (<code>chmod</code>, <code>chown</code> et al) or, even better, ACLs;</li> <li>if you upgrade Apache, changes you have made to httpd will be lost, you'll need to do them again... <br class="atl-forced-newline"/></li> </ul> <h2 id="NonRootPortBinding-Alternativemethod(iptables/linux):NAT">Alternative method (iptables/linux): NAT</h2> <p>You can use nat based method to redirect traffic from port 80 to 8080.</p> <div class="preformatted panel conf-macro output-block" data-hasbody="true" data-macro-name="noformat" style="border-width: 1px;"><div class="preformattedContent panelContent"> <pre>root@myhost # iptables -t nat -A PREROUTING -d <ip> -p tcp --dport 80 -m addrtype --dst-type LOCAL -j DNAT --to-destination <ip>:8080 root@myhost # iptables -t nat -A OUTPUT -d <ip> -p tcp --dport 80 -m addrtype --dst-type LOCAL -j DNAT --to-destination <ip>:8080 </pre> </div></div> <p>Obviously the configuration of your apache server to listen on port 8080</p> <p>NB. POSIX draft 1003.1e specifies a concept of permissions called "capabilities", but this draft has been withdrawn. However, that's the term used in most of the Linux documentation for this kernel feature.</p> </div> <div id="labels-section" class="pageSection group"> <div class="labels-section-content content-column" entityid="115522398" entitytype="page"> <div class="labels-content"> <ul class="label-list label-list-right "> <li class="no-labels-message"> No labels </li> </ul> </div> </div> </div> <div id="comments-section" class="pageSection group"> </div> </div> <div id="space-tools-web-items" class="hidden"> <div data-label="Overview" data-href="/confluence/spaces/viewspacesummary.action?key=HTTPD">Overview</div> <div data-label="Content Tools" data-href="/confluence/pages/reorderpages.action?key=HTTPD">Content Tools</div> <div data-label="Apps" data-href="/confluence/spaces/snippeterrors.action?key=HTTPD">Apps</div> </div> </main><!-- \#main --> <div id="footer" role="contentinfo"> <section class="footer-body"> <p class="license license-opensource"> Powered by a free <b>Atlassian Confluence Open Source Project License</b> granted to Apache Software Foundation. <a href="https://www.atlassian.com/software/views/opensource-community-additional-license-offer">Evaluate Confluence today</a>.<br> </p> <ul id="poweredby"> <li class="noprint">Powered by <a href="https://www.atlassian.com/software/confluence" class="hover-footer-link" rel="nofollow">Atlassian Confluence</a> <span id='footer-build-information'>7.19.28</span></li> <li class="print-only">Printed by Atlassian Confluence 7.19.28</li> <li class="noprint"><a href="https://support.atlassian.com/confluence-server/" class="hover-footer-link" rel="nofollow">Report a bug</a></li> <li class="noprint"><a href="https://www.atlassian.com/company" class="hover-footer-link" rel="nofollow">Atlassian News</a></li> </ul> <div id="footer-logo"><a href="https://www.atlassian.com/" rel="nofollow">Atlassian</a></div> </section> </div> </div> </div><!-- \#full-height-container --> </div><!-- \#page --> <span style="display:none;" id="confluence-server-performance">{"serverDuration": 88, "requestCorrelationId": "4c78fc46624f5d2b"}</span> </body> </html>