Hi All, I am trying to setup nginx so that I can r...
# all-things-deployment
b
Hi All, I am trying to setup nginx so that I can route port 9002 to 443 with my ssl cert. Here are my nginx config and docker block:
Copy code
events {}
http {
server {
    listen 443 ssl;
    ssl_certificate /etc/nginx/certs/certificate.crt;
    ssl_certificate_key /etc/nginx/certs/server.key;
    location / {
      proxy_pass <http://datahub-frontend-react:9002>;
      proxy_set_header   Host $host;
      proxy_set_header   X-Real-IP $remote_addr;
      proxy_set_header   X-Forwarded-For $proxy_add_x_forwarded_for;
      proxy_set_header   X-Forwarded-Host $server_name;
      proxy_set_header   X-Forwarded-Proto https;
  }
}
}
Copy code
nginx:
    image: nginx:latest
    container_name: nginx
    volumes:
      - ../nginx.conf:/etc/nginx/nginx.conf
      - ../certs:/etc/nginx/certs
    ports:
      - 443:443
    depends_on:
      - datahub-frontend-react
Im getting this error when I go to the url, which shows what I believe is a datahub error. Has anyone faced this when using nginx to serve the page on port 443?
m
Have you tried it with http first (no SSL)?
b
Let me give it a try
b
I think we've seen this before
b
Thank you for the reply! That did the trick! I will post my config file for anyone else to use.
Copy code
events {}
http {
server {
    listen 443 ssl;
    ssl_certificate /etc/nginx/certs/certificate.crt;
    ssl_certificate_key /etc/nginx/certs/server.key;
      location / {
        proxy_http_version 1.1;
        proxy_pass <http://datahub-frontend-react:9002>;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Request-Id $request_id;
        proxy_set_header X-Forwarded-Proto "https";
    }   proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Another issue related, now when I log in I get this error:
Copy code
datahub-frontend-react    | 18:20:32 [application-akka.actor.default-dispatcher-172] WARN  application - The submitted callback is unsupported!
datahub-frontend-react    | 18:20:32 [application-akka.actor.default-dispatcher-172] ERROR application -
datahub-frontend-react    |
datahub-frontend-react    | ! @7m37ep3p5 - Internal server error, for (POST) [/logIn] ->
datahub-frontend-react    |
datahub-frontend-react    | play.api.UnexpectedException: Unexpected exception[RuntimeException: Failed to generate session token for user]
datahub-frontend-react    |     at play.api.http.HttpErrorHandlerExceptions$.throwableToUsefulException(HttpErrorHandler.scala:247)
datahub-frontend-react    |     at play.api.http.DefaultHttpErrorHandler.onServerError(HttpErrorHandler.scala:176)
datahub-frontend-react    |     at play.core.server.AkkaHttpServer$$anonfun$2.applyOrElse(AkkaHttpServer.scala:363)
datahub-frontend-react    |     at play.core.server.AkkaHttpServer$$anonfun$2.applyOrElse(AkkaHttpServer.scala:361)
datahub-frontend-react    |     at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:346)
datahub-frontend-react    |     at scala.concurrent.Future$$anonfun$recoverWith$1.apply(Future.scala:345)
datahub-frontend-react    |     at scala.concurrent.impl.CallbackRunnable.run(Promise.scala:36)
datahub-frontend-react    |     at akka.dispatch.BatchingExecutor$AbstractBatch.processBatch(BatchingExecutor.scala:55)
datahub-frontend-react    |     at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply$mcV$sp(BatchingExecutor.scala:92)
datahub-frontend-react    |     at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
datahub-frontend-react    |     at akka.dispatch.BatchingExecutor$BlockableBatch$$anonfun$run$1.apply(BatchingExecutor.scala:92)
datahub-frontend-react    |     at scala.concurrent.BlockContext$.withBlockContext(BlockContext.scala:72)
datahub-frontend-react    |     at akka.dispatch.BatchingExecutor$BlockableBatch.run(BatchingExecutor.scala:91)
datahub-frontend-react    |     at akka.dispatch.TaskInvocation.run(AbstractDispatcher.scala:41)
datahub-frontend-react    |     at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(ForkJoinExecutorConfigurator.scala:49)
datahub-frontend-react    |     at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
datahub-frontend-react    |     at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
datahub-frontend-react    |     at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
datahub-frontend-react    |     at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
datahub-frontend-react    | Caused by: java.lang.RuntimeException: Failed to generate session token for user
datahub-frontend-react    |     at client.AuthServiceClient.generateSessionTokenForUser(AuthServiceClient.java:80)
datahub-frontend-react    |     at controllers.AuthenticationController.logIn(AuthenticationController.java:139)
datahub-frontend-react    |     at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$5$$anonfun$apply$5.apply(Routes.scala:380)
datahub-frontend-react    |     at router.Routes$$anonfun$routes$1$$anonfun$applyOrElse$5$$anonfun$apply$5.apply(Routes.scala:380)
datahub-frontend-react    |     at play.core.routing.HandlerInvokerFactory$$anon$3.resultCall(HandlerInvoker.scala:134)
datahub-frontend-react    |     at play.core.routing.HandlerInvokerFactory$$anon$3.resultCall(HandlerInvoker.scala:133)
datahub-frontend-react    |     at play.core.routing.HandlerInvokerFactory$JavaActionInvokerFactory$$anon$8$$anon$2$$anon$1.invocation(HandlerInvoker.scala:108)
datahub-frontend-react    |     at play.core.j.JavaAction$$anon$1.call(JavaAction.scala:88)
datahub-frontend-react    |     at play.http.DefaultActionCreator$1.call(DefaultActionCreator.java:31)
datahub-frontend-react    |     at play.core.j.JavaAction$$anonfun$9.apply(JavaAction.scala:138)
datahub-frontend-react    |     at play.core.j.JavaAction$$anonfun$9.apply(JavaAction.scala:138)
datahub-frontend-react    |     at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
datahub-frontend-react    |     at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
datahub-frontend-react    |     at play.core.j.HttpExecutionContext$$anon$2.run(HttpExecutionContext.scala:56)
datahub-frontend-react    |     at play.api.libs.streams.Execution$trampoline$.execute(Execution.scala:70)
datahub-frontend-react    |     at play.core.j.HttpExecutionContext.execute(HttpExecutionContext.scala:48)
datahub-frontend-react    |     at scala.concurrent.impl.Future$.apply(Future.scala:31)
datahub-frontend-react    |     at scala.concurrent.Future$.apply(Future.scala:494)
datahub-frontend-react    |     at play.core.j.JavaAction.apply(JavaAction.scala:138)
datahub-frontend-react    |     at play.api.mvc.Action$$anonfun$apply$2.apply(Action.scala:96)
datahub-frontend-react    |     at play.api.mvc.Action$$anonfun$apply$2.apply(Action.scala:89)
datahub-frontend-react    |     at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:253)
datahub-frontend-react    |     at scala.concurrent.Future$$anonfun$flatMap$1.apply(Future.scala:251)
datahub-frontend-react    |     ... 13 common frames omitted
datahub-frontend-react    | Caused by: java.net.UnknownHostException: datahub-gms: Name does not resolve
datahub-frontend-react    |     at java.net.Inet4AddressImpl.lookupAllHostAddr(Native Method)
datahub-frontend-react    |     at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:930)
datahub-frontend-react    |     at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1325)
datahub-frontend-react    |     at java.net.InetAddress.getAllByName0(InetAddress.java:1278)
datahub-frontend-react    |     at java.net.InetAddress.getAllByName(InetAddress.java:1194)
datahub-frontend-react    |     at java.net.InetAddress.getAllByName(InetAddress.java:1128)
datahub-frontend-react    |     at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
datahub-frontend-react    |     at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:112)
datahub-frontend-react    |     at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:374)
datahub-frontend-react    |     at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:393)
datahub-frontend-react    |     at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
datahub-frontend-react    |     at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:186)
datahub-frontend-react    |     at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:89)
datahub-frontend-react    |     at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
datahub-frontend-react    |     at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:185)
datahub-frontend-react    |     at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:83)
datahub-frontend-react    |     at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:108)
datahub-frontend-react    |     at client.AuthServiceClient.generateSessionTokenForUser(AuthServiceClient.java:68)
datahub-frontend-react    |     ... 35 common frames omitted
b
Hmm it may be having trouble connecting to your backend instance
Is the name of the backend just datahub-gms on the network?
Also can you confirm that the backend pod is alive and well
curl http//&lt;gms&gt;8080/config should help determine this
b
Could not resolve host: datahub-gms
This maybe the issue? I dont see any docker container running on 8080
Copy code
datahub-gms               | ERROR: Context 'file:///datahub/datahub-gms/bin/war.war' does not exist
datahub-gms               | Usage: java [-Djetty.home=dir] -jar jetty-runner.jar [--help|--version] [ server opts] [[ context opts] context ...]
datahub-gms               | Server opts:
datahub-gms               |  --version                           - display version and exit
datahub-gms               |  --log file                          - request log filename (with optional 'yyyy_mm_dd' wildcard
datahub-gms               |  --out file                          - info/warn/debug log filename (with optional 'yyyy_mm_dd' wildcard
datahub-gms               |  --host name|ip                      - interface to listen on (default is all interfaces)
datahub-gms               |  --port n                            - port to listen on (default 8080)
elasticsearch-setup exited with code 0
datahub-gms               |  --stop-port n                       - port to listen for stop command (or -DSTOP.PORT=n)
datahub-gms               |  --stop-key n                        - security string for stop command (required if --stop-port is present) (or -DSTOP.KEY=n)
datahub-gms               |  [--jar file]*n                      - each tuple specifies an extra jar to be added to the classloader
datahub-gms               |  [--lib dir]*n                       - each tuple specifies an extra directory of jars to be added to the classloader
datahub-gms               |  [--classes dir]*n                   - each tuple specifies an extra directory of classes to be added to the classloader
datahub-gms               |  --stats [unsecure|realm.properties] - enable stats gathering servlet context
datahub-gms               |  [--config file]*n                   - each tuple specifies the name of a jetty xml config file to apply (in the order defined)
datahub-gms               | Context opts:
datahub-gms               |  [[--path /path] context]*n          - WAR file, web app dir or context xml file, optionally with a context path
datahub-gms               | 2021/12/14 23:21:58 Command exited with error: exit status 1
Thats what im seeing when I run
Copy code
docker/dev.sh
Copy code
./gradlew :metadata-service:war:build
^Fixed it!
b
Amazing!
Thanks for updating