How to configure ActiveMQ Artemis server for remote access? - activemq-artemis

I have ActiveMQ Artemis server installed on a Unix box. I am able to create an Artemis broker instance which provides me with link to web console which is running on localhost.
Now I want access web console from an external machine, probably running Windows.
Can you please guide me on step by step process to configure the ActiveMQ Artemis server so that I can access it from another machine?

The embedded Jetty web server which is used to host the web console is configured in the bootstrap.xml file in the etc directory of your Artemis instance. Look for the web element in that file. You'll need to change its bind attribute to use something other than localhost since localhost is only accessible from the machine where the server is running. Typically this will be the externally accessible host name or IP address of the server.
You can find more information about configuring the embedded Jetty web server in the Artemis documentation.

Related

How to Read message from Jboss JMS Queue using IIB ESB Toolkit

I am working on a small project in which I want to consume the messages from the Jboss JMS Queue using IIB Tool kit. Apologize me that I am a learner in IIB.
The scenario is as below.
The Linux server is where the JBOSS is running and the messages are available in a particular JMS queue. I got IBM Toolkit installed on my laptop/machine and created an application and a flow. I placed the JMSInput from the pallet and got confused on where to configure the connection properties like IP Address, port number, Jboss user, password etc...
The idea is to consume the messages that are available in Linux server using IIB. Request some expert help on how to configure and achieve this requirement.
The jnp based Initial Context Factory seems like not supported in JBOSS 7 anymore. I would use the one described in Remote JNDI Lookup.
I never did an IIB integration with a JMS provider in JBoss, but I did it with a standalone ActiveMQ. There I created a JMSProviders configurable service, where I could configure IP address and port in the jndiBindingsLocation property like this:
mqsicreateconfigurableservice <BROKER> -c JMSProviders -o ActiveMQ \
-n initialContextFactory,jarsURL,jndiBindingsLocation,connectionFactoryName \
-v org.apache.activemq.jndi.ActiveMQInitialContextFactory,c:\Users\daniel\apache-activemq-5.11.1\lib,tcp://localhost:61616,ConnectionFactory
See Securing JMS connections and JNDI lookups how to enter user id and password.

Shutdown remote naming service in Wildfly

I need to shutdown port 1099 in Wildfly 10.1. This port normally used for remote JNDI/RMI and in Wildfly 10.1, the remote naming system has a
[security vulnerability][1].
The straightforward solution will be to configure a firewall to not allow traffic on 1099 port, but this is not acceptable by our client. I thought it possible to configure WF to not use remote JNDI/RMI but can't figure out how to configure it.
The JBoss documentation on Remote JNDI Interface says that you can deactivate the remote JNDI interface by executing the following command via CLI interface:
/subsystem=naming/service=remote-naming:remove
and it seems really stopping the service, but once you do server 'reload' the Wildfly resumes connection on the port 1099.

How to move my IBM api connect service from my mac to an Ubuntu server

I have built a working IBM api connect service (loopback) that provides local mySQL data to/from an angular website. I now want to move this service to an Ubuntu web server (appache) so that I can open up the website to external traffic. I have moved installed api connect onto the server and moved the project files across.
But I don't understand how to run the project so that it is available externally. When I run API connect the api is available on a local port address: Web server listening at: http://127.0.0.1:9000.
But in my webpage (angularjs) I can't call this as it tries to connect on the client machine, not server.
Has anyone done this before and if so, can you offer any advice?
You should configure your Apache as a reverse proxy, so that it forwards requests from your public ip address at port 80 (or 443 if you want SSL) to localhost:9000. See https://httpd.apache.org/docs/2.4/howto/reverse_proxy.html or https://www.nginx.com/resources/admin-guide/reverse-proxy/ if you'd like to try out Nginx.

Unable to access jetty server with local IP address

I have configured jetty-maven-plugin in my eclipse Mars and I can run the server using jetty start and stop goals. I can able to access the website using http://localhost:8080/myapp but not using local IP address(i.e., http://192.168.0.5:8080/myapp) from my own computer or other computers connected in the same network via LAN and Wi-Fi.
As mentioned as a solution in these posts,
how to make jetty server accessible from LAN?
Configuring Jetty to accept connections from all hosts
I configured the server host to 0.0.0.0 from localhost to listen on all hosts. With this setting I can see on server start log,
INFO:oejs.AbstractConnector:Started SelectChannelConnector#0.0.0.0:8080
and it works only on http://localhost:8080 but it's not accessible from http://192.168.0.5:8080.
I also tried running that if the interface is accessible using the Networks Interface Listing as mentioned in this comment. and I got,
Display name: NETGEAR WNA1000M N150 Wireless USB Micro Adapter
Name: wlan4
InetAddress: /192.168.0.5
I also tried turning off my Windows Firewall/antivirus but din't help. My jetty version is <jetty.version>9.3.0.M1</jetty.version> and JDK 1.7. What could be the problem? Any help is appreciated.
McAfee Endpoint Security was the culprit here. It was blocking the requests with IP addresses from my very own computer. Turned off the firewall inside the Antivirus and I was able to access the site with http://192.168.0.5:8080/mysite from the browser and other devices connected through the network.
Sometimes some other program opens your port on external address before you do that with Jetty. It will receive all traffic instead. On Windows you will not know it if you reuse port (that is Jetty's default behavior). Check with netstat -ano what is the IP of the process that is indeed listening on 0.0.0.0:8080. Verify if it is your Jetty process only.
Then try connecting with telnet or netcat and see if you can open the connection and what is the response.

Hawt IO - To build HawtIO common dashboard for clustered instances of camel application

We are planning to use HAWTIO to monitor the camel instances. Our application is web application which will be running into clustered instances of Websphere application server 7. We want to monitor the clustered instances from different JVM probably from WAS7 JVM or Jboss JVM.
Currently same JVM hawtIO web is working prefectly. Now I want to try remote instances. HawtIO Connect option is used with host and port of remote instances. I think context name or url is not correct to get data from jolokia agent running in remote jvm. Please advice on this.
For WAS7 I would suggest to deploy the jolokia agent as a WAR which is also what jolokia recommends: http://jolokia.org/agent/war.html
You should be able to access that url from a web browser. Then make sure this works first.
Then you can use hawtio to access that url also in the remote connection dialog.