Go to file
Martin Pitt d1f531a160 ws: Add --for-tls-proxy option
If cockpit-ws runs behind a reverse proxy that does the TLS termination,
it rejects non-GnuTLS connections with a https:// origin with

    received request from bad Origin: https://localhost:9090

This previously required setting `Origins` in cockpit.conf to make this
work. Introduce a new `--for-tls-proxy` option to cockpit-ws which
switches the default Origin checking to https-only. With that, no
cockpit.conf modifications are required for local proxies.

This is implemented by a new `for-tls-proxy` property in
`CockpitWebServer`, which gets plumbed through the Origins check in
`cockpit_web_service_create_socket()`.

This is mostly intended for the upcoming external "cockpit-tls" proxy
which externalizes TLS termination, so that this does not have to modify
cockpit.conf or inspect/modify the HTTP stream. But it's generally
applicable to any local reverse TLS proxy.

Fix test-handlers to not call cockpit_handler_socket() with a NULL
server, so that reading the property does not cause a warning.

Closes #11813
2019-05-16 08:31:03 +02:00
.github/ISSUE_TEMPLATE .github: Add minimal issue template 2019-01-24 15:38:42 +01:00
bots bots: Allow polling a https URL in wait_for_cockpit_running() 2019-05-16 08:31:03 +02:00
containers containers: Fix bastion README.md 2019-05-06 09:31:50 +02:00
doc ws: Add --for-tls-proxy option 2019-05-16 08:31:03 +02:00
eslint-plugin-cockpit eslint: Add a rule to disallow using cockpit.all() 2019-01-15 08:25:11 +01:00
examples kubernetes: Remove deprecated spec.externalID 2019-03-13 09:10:36 +01:00
node_modules Remove usage of Bower in favor of NPM 2017-06-09 10:38:46 +02:00
pkg lib/onoff: Use Chrome blue focus by default; dots for Firefox (#11832) 2019-05-15 14:56:01 +02:00
po po: Update from Fedora Zanata 2019-05-11 07:35:29 +02:00
src ws: Add --for-tls-proxy option 2019-05-16 08:31:03 +02:00
test ws: Add --for-tls-proxy option 2019-05-16 08:31:03 +02:00
tools storage: Make it appear as an Application 2019-05-09 16:45:39 +02:00
.eslintignore Remove usage of Bower in favor of NPM 2017-06-09 10:38:46 +02:00
.eslintrc.json Move to latest eslint 2019-02-07 19:00:39 +01:00
.flowconfig kubernetes: Add Virtual machines side tab 2018-01-22 08:00:50 +01:00
.gitignore bridge: Add polkit action for privileged bridge 2018-12-11 21:16:24 +01:00
.tasks bots: Do AMQP interaction over SSL 2019-02-13 09:08:43 +01:00
.travis.yml tools: Start running pep8 against python tests 2018-11-27 08:43:47 +01:00
AUTHORS AUTHORS: Refer to git information 2019-03-06 16:41:45 +01:00
COPYING Initial commit 2013-11-01 13:42:29 -04:00
HACKING.md HACKING: Fix intructions for installing cockpit build dependences 2019-03-16 18:11:34 +01:00
Makefile.am tests: Workaround valgrind limitations with ghash 2019-05-09 11:25:37 +02:00
README.md README: Fix project org in semaphore 2019-03-10 12:19:47 +01:00
Vagrantfile vagrant: Don't install debuginfo 2019-02-28 17:16:41 +01:00
autogen.sh autogen: Check npm version 2018-04-12 19:13:33 +02:00
configure.ac tests: Workaround valgrind limitations with ghash 2019-05-09 11:25:37 +02:00
package.json Revert "package.json: Update xterm package dependency" 2019-05-14 12:39:25 +02:00
webpack.config.js babel: Drop CommonJS plugin 2018-12-30 16:47:37 +01:00

README.md

semaphore ci build status

Cockpit

A sysadmin login session in a web browser

cockpit-project.org

Cockpit is an interactive server admin interface. It is easy to use and very lightweight. Cockpit interacts directly with the operating system from a real Linux session in a browser.

Using Cockpit

You can install Cockpit on many Linux operating systems including Debian, Fedora and RHEL.

Cockpit makes Linux discoverable, allowing sysadmins to easily perform tasks such as starting containers, storage administration, network configuration, inspecting logs and so on.

Jumping between the terminal and the web tool is no problem. A service started via Cockpit can be stopped via the terminal. Likewise, if an error occurs in the terminal, it can be seen in the Cockpit journal interface.

On the Cockpit dashboard, you can easily add other machines with Cockpit installed that are accessible via SSH.

Development