FHIR Chat · Installation · ibm

Stream: ibm

Topic: Installation


view this post on Zulip Alexander Kiel (Oct 29 2019 at 09:07):

Hi, I have installed your FHIR Server according to the Guide, but I get the following response on:

curl -k -u fhiruser https://localhost:9443/fhir-server/api/metadata
<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN"><html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The application or context root for this request has not been found: &#047;fhir&#045;server&#047;api&#047;v1&#047;metadata</p></body></html>

view this post on Zulip Lee Surprenant (Oct 29 2019 at 11:38):

hi Alexander please try curl -k -u fhiruser:change-password https://localhost:9443/fhir-server/api/v4/metadata (note the user password and the "v4" in the path)

view this post on Zulip Lee Surprenant (Oct 29 2019 at 11:39):

also, if you happen to find a link thats missing that in the docs, please let us know :-)

view this post on Zulip Paul Bastide (Oct 29 2019 at 14:05):

The site should be updated now. as well as the passwords to the default change-password

view this post on Zulip Paul Bastide (Oct 29 2019 at 14:05):

we use gatsby so it might be 'uber cached

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:00):

@Lee Surprenant Thanks. The path v4 vs. v1 was the problem. I found the password in the config file.
@Paul Bastide Thanks for updating the config.

Something slightly different: Is it possible to use the FHIR server without authentication and without TLS termination?

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:00):

its possible but we make you do some work

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:00):

its "all TLS" by default

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:01):

IIRC our compliance folks asked us to do that a long time ago...we could revisit that decision now that we're open

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:01):

I usually run my servers without TLS behind a TLS terminating load-balancer

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:01):

i think there's two spots you need to update to run with HTTP

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:01):

the easy one is in server.xml

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:02):

not sure if you're familiar with WebSphere Liberty (or OpenLiberty) application server

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:02):

but server.xml is like the 1 config file that drives everything in Liberty

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:03):

there's a line like this: <httpEndpoint host="*" httpPort="-1" httpsPort="9443" id="defaultHttpEndpoint" onError="FAIL"/>

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:03):

you can change it to <httpEndpoint host="*" httpPort="9080" httpsPort="9443" id="defaultHttpEndpoint" onError="FAIL"/>

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:03):

or whatever you want

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:03):

I'm not familiar with WebSphere Liberty, but with Glassfish and Tomcat.

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:04):

should be possible to run our webapp on Glassfish but we've never done it and so there's probalby lots of gotchas

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:05):

No it's ok. I didn't mean to try to run it in Glassfish.

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:05):

the install should have given you structure like wlp/usr/servers/fhir-server

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:05):

thats where you should find server.xml

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:05):

this one is a supported config change and the server will even auto-restart to pick it up I think.
BUT, there is also a second spot to change.

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:05):

and this one is harder...

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:06):

If I add a HTTP port, I get a redirect to https

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:06):

getting there...

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:07):

our webapp itself has a transport restriction enabled

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:07):

pasted image

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:08):

i need to think through the best way to change that...

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:09):

@Paul Bastide curious if you have thoughts on this one ^

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:09):

ideally we'd have a way for users of the binary release to run with HTTP if they want

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:09):

without needing to hack the war file or build it themselves

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:10):

@Alexander Kiel wanna open an issue (enhancement request) for this one?

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:10):

Ok I see.

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:10):

Yes I can do that. Directly on GitHub?

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:10):

yes please

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:10):

https://github.com/ibm/fhir/issues

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:11):

in meantime, you can explode the war file, change this one file to remove the transport-guarantee, re-zip it into a war, and replace the old one in the server. sorry :-P

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:12):

actually, probably easier just to clone the project and build it yourself

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:13):

no need for full setup...you'd just edit that one file and then run:
mvn clean install -f fhir-parent -DskipTests

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:14):

might even get away with just mvn clean install -f fhir-install, but i'm not positive it would rebuild fhir-server-webapp that builds the war

view this post on Zulip Paul Bastide (Oct 29 2019 at 15:24):

I think we can drop this into a separate war as part of the build. I wouldn't include it in the fhir-install. We could mark-it experimental

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:34):

I think I'd rather not introduce separate build artifact for it. I just wish there was a simple way to say "I want to expose this over HTTP and I know what I'm doing so just let me"

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:35):

I have my issue here with more context to decide if it fits your FHIR server: https://github.com/IBM/FHIR/issues/331

view this post on Zulip Paul Bastide (Oct 29 2019 at 15:36):

Thanks, I can look at it in the next 1-2 days. We just need to figure out our build packaging implications

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:36):

thanks Alexander. we also run this in our cloud on kubernetes, so its definitely a scenario we want to major in.

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:36):

today we do that with TLS on, which our security folks make us do

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:37):

on the radar is exploring use of Istio to manage the pod-to-pod TLS

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:38):

And do you have an additional TLS terminating load balancer or do you just tunnel the TLS connection though a load balancer?

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:38):

mostly because managing the certs is such a huge pain

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:39):

yes, we're using IBM Cloud Kubernetes Service (IKS) and I believe its using nginx-ingress under covers

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:39):

so thats terminating the TLS

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:39):

but then it creates new TLS connection to the app server on the other side

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:39):

everything encrypted

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:40):

I didn't look into istio, only heard of it. Does it manage the certificates?

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:40):

not sure :-)

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:40):

i'm hoping it helps us there

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:40):

cuz managing the certs is a PITA

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:40):

today we just ship with a self-signed cert

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:41):

We have the data flow inside the cluster unencrypted. But yes, you are right, one should encrypt everywhere.

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:41):

and we just tell all the clients (other pods in the cluster) not to validate the server cert hostname :-P

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:41):

but at least its encrypted :shrug:

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:43):

I don't like self-signed certificates and using curl -k. :-) That is just bad guidance and negates the advantages of having TLS mostly.

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:43):

i don't disagree

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:43):

we need better solution for inter-pod (intra-cluster) TLS

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:43):

and I think Istio can help us here

view this post on Zulip Lee Surprenant (Oct 29 2019 at 15:44):

I just havn't gotten to that yet (like so many other things...)

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:46):

I agree using TLS for pod-to-pod communication but it should use a proper CA. So maybe Istio is a solution here.

view this post on Zulip Alexander Kiel (Oct 29 2019 at 15:48):

So please do not jump on the issue implementing dual builds. Just take it as a discussion whether it is more practical to manage proper signed certificates outside of WebSphere or not.


Last updated: Apr 12 2022 at 19:14 UTC