Changing the default port

We are currently running ignition v8.1.27. It is using the default http port 8088 and https port 8043. Can I change these 80 and 443 respectively? I tried to change the https port to 443 in Networking->web server. But it does not work.

Did you restart the gateway after changing the setting?

1 Like

It gave the dialog as follows when I changed it and after I saved the url is not accessbile
image

I did restart the container also to check if it works after restart. But it is not working

You probably shouldn't be using ports that are reserved for well known things.
May I ask why you want to do this ?

I am running it in a vm and I don't want the user to give the port number (as they mess up the port)
when they are typing the url. Directing it to 80 and 443 will default it to the url.

If you want to do this in a container or other Linux, and the Ignition service within the container is not running as root, then you will need a SystemD override file to supply the proper AmbientCapabilities= settings.

I am using ansible to deploy ignition using podman container. I don't see any option to set AmbientCapabilities.

- name: Ignition container started
  become: true
  containers.podman.podman_container:
    name: "ignition"
    image: ignition:{{ ignition_version }}
    ports:
      - "62541:62541" # TCP	Default port for Ignition OPC UA server.
      - "17342:17342" #	UDP	Receive Port for SMS with Alarming. 
      - "4446:4446"   #	UDP/broadcast	Default receive port for multicast messages that makes the Gateway discoverable on a local network.
      - "6501:6501"   #	TCP	The port utilized by Vision's Local Client Fallback feature.
      - "8043:8043"   #	TCP	Default SSL port setting to access the Ignition Gateway.
      - "8060:8060"   #	TCP	Default SSL port setting for the Gateway Network (metroSSLPort in the Gateway XML file).
      - "8088:8088"   #	TCP	Default port setting to access the Ignition Gateway. Also the non SSL port for the Gateway Network
    volume:
            - /mount_folder/data:/usr/local/bin/ignition/data

    env:
      VM_NAME: '{{ ansible_hostname }}'
      IGNITION_EDITION: "standard"
      DISABLE_QUICKSTART: true
      ACCEPT_IGNITION_EULA: "Y"
      GATEWAY_ADMIN_USERNAME: "{{ ignition_admin_username }}"
      GATEWAY_ADMIN_PASSWORD: "{{ ignition_admin_password }}"
      GATEWAY_MODULES_ENABLED: .....

If you're running Ignition via docker image you shouldn't be changing the ports in the gateway interface - you should use the environment or runtime configuration parameters.

You would also need to update your port mappings.

https://docs.inductiveautomation.com/display/DOC81/Docker+Image

1 Like

Thank you. It is working for non-containerized version.

for containerized version even if pass the port as parameter it does not work

podman create  --name ignition \
--restart=unless-stopped \
-p 80:80 \
-p 443:443 \
-e IGNITION_EDITION="standard" \
-e GATEWAY_HTTP_PORT=80 \
-e GATEWAY_HTTPS_PORT=443 \
-e DISABLE_QUICKSTART=true \
-e ACCEPT_IGNITION_EULA="Y" \
repo_name/inductiveautomation/ignition:8.1.27

Gives the error
jvm 1 | 2023/10/04 20:25:59 | E [IgnitionServer ] [20:25:59]: The port(s) 80, 443 are unavailable

You can't bind to ports under 1024 without requesting the CAP_NET_BIND_SERVICE capability.

@kcollins1 links to some documentation about how this can be done here: Docker image now defaults to non-root user - #3 by kcollins1

1 Like

Thank you it works now.