In this article:
Overview
PhotoMesh uses several APIs for communication with fusers and automation tools and for managing project queues. The PhotoMesh Fuser API listens for requests on port 8085 by default, while the PhotoMesh API and Project Queue API receive ports from the shared 8086–8095 range.
In a single-computer installation, requests to these APIs are sent through localhost and usually do not require Windows Firewall configuration. When fusers run on other computers, or when a PhotoMesh REST API must be accessible to applications on other computers, Windows Firewall must be configured to allow inbound connections on the required ports.
The PhotoMesh API and PhotoMesh Fuser API use Windows HTTP.sys and therefore require HTTP URL reservations (URLACLs), to allow them to listen at their configured HTTP URLs. Unlike inbound firewall rules, these reservations are required even when all PhotoMesh software runs on a single computer. The Project Queue API does not use HTTP.sys and therefore does not require a URL reservation.
PhotoMesh normally configures the necessary firewall rules and HTTP URL reservations automatically. If this configuration fails, or if the default ports are changed, manual configuration may be required.
Port Assignment
The PhotoMesh Fuser API uses port 8085 by default. Each fuser service listens on its own computer and advertises its listening port to the fuser pool. If the Fuser API port is changed in PMFuserService.exe.config, no corresponding PhotoMesh Manager configuration needs to be updated.
The PhotoMesh API and Project Queue API are separate services that receive ports from the shared 8086–8095 range. Each running PhotoMesh instance uses one port for the PhotoMesh API and another for the Project Queue API. When multiple PhotoMesh instances run on the same computer, each instance automatically selects the next available pair of ports from the shared 8086–8095 range - one for the PhotoMesh API and one for the Project Queue API. No manual port configuration is normally required. E.g.,
- First instance: PhotoMesh API – 8086; Project Queue API – 8087
- Second instance: PhotoMesh API – 8088; Project Queue API – 8089
The port used by the PhotoMesh API in PhotoMesh.exe.config must match PHOTOMESH_EXE_SERVER_PORT in the PhotoMesh.js .env file. The PhotoMesh.js services do not discover the PhotoMesh API port automatically.
Connection Issues
Unable to Connect to the PhotoMesh API
If the PhotoMesh API cannot be reached:
- Verify that you are running PhotoMesh with Administrator privileges.
- Verify that another application is not already using the configured PhotoMesh API port.
- If the API must be accessed from another computer, verify that Windows Firewall is configured to allow inbound connections on the PhotoMesh API port range (8086–8095).
- Verify that the required HTTP URL reservations exist for the configured port range.
- Restart PhotoMesh so it can bind to an available port in the configured range.
- Verify that the PhotoMesh API port in PhotoMesh.exe.config matches
PHOTOMESH_EXE_SERVER_PORTin the PhotoMesh.js.envfile. - If the issue persists, configure the firewall rules and URL reservations as described in Manual Network Configuration >
More about: PhotoMesh API >
Project Queue Manager or Project Queue API Reference Guide Do Not Open
If the Project Queue Manager or Project Queue API Reference Guide cannot be opened:
Verify that another application is not using the configured Project Queue API port (8087 by default).
If you are accessing the page from another computer, verify that Windows Firewall is configured to allow inbound connections on the configured port.
Try running PhotoMesh from a local drive instead of a network drive.
If the issue persists, configure the firewall rule as described in Manual Network Configuration >
More about: Project Queue API >
You can also access the Project Queue Manager or Project Queue API Reference Guide directly using the following URLs. If the Project Queue API does not use the default port, replace 8087 with its configured port.
API Reference Guide
http://localhost:8087/api-docs/Project Queue Manager
http://localhost:8087/ProjectQueue/managerPool Settings or IT Operations Pages Do Not Open
If the Pool Settings or IT Operations pages do not open, Windows may be missing the required HTTP URL reservations (URLACLs). This issue can occur even when PhotoMesh > Options > API Binding Address is set to All Networks.
Open PowerShell or Command Prompt as Administrator.
- Run the following command to display the existing HTTP URL reservations:
netsh http show urlacl - Verify that HTTP URL reservations exist for the PhotoMesh API port range (8086–8095).
If the required reservations are missing, create them as described in Manual Network Configuration >
After creating the required URL reservations, restart PhotoMesh, reopen the Pool Manager, and try opening the Pool Settings or IT Operations page again.
Manual Network Configuration
In most installations, PhotoMesh automatically configures the required firewall rules and URL reservations. Use the following procedures only if automatic configuration fails or if you need to manually configure or change the API ports.
PhotoMesh API (Ports 8086-8095)
Configure firewall access
The PhotoMesh API receives a port from the shared 8086–8095 range. If the API must be accessed from another computer, Windows Firewall must allow inbound connections on its assigned port. To support any port that may be assigned to a PhotoMesh instance, it is recommended that you allow inbound connections on the entire range.
- Open Command Prompt as Administrator.
- Run the following command to create a Windows Firewall rule for the PhotoMesh API port range:
netsh advfirewall firewall add rule name="PM API WebAPI TCP Ports 8086-8095" dir=in action=allow protocol=TCP localport=8086-8095Configure URL reservations
HTTP URL reservations (URLACLs) allow the PhotoMesh API to listen on the configured HTTP URLs.
- Open Command Prompt as Administrator.
- Create HTTP URL reservations for the configured PhotoMesh API port. To ensure that PhotoMesh can bind to an alternate port if the default ports are already in use, it is recommended that you create URL reservations for the entire 8086–8095 port range.
For example, to create a URL reservation for port 8086, run:
netsh http add urlacl url=http://*:8086/ sddl="D:(A;;GX;;;WD)" Repeat the command for ports 8087-8095, replacing 8086 with the appropriate port number.
Change the PhotoMesh API Port (Optional)
To change the port used by the PhotoMesh API:
- Open PhotoMesh.exe.config in a text editor. The file is located in the PhotoMesh application folder.
- Modify the value of the API.API URL key. For example:
<appSettings>
<add key="API.API URL" value="http://XXXX" />
</appSettings>- Open the .env file in the PhotoMesh.js folder.
- Set PHOTOMESH_EXE_SERVER_PORT to the same port. The values in the two files must match because the PhotoMesh.js services do not automatically detect the port configured in PhotoMesh.exe.config. For example:
PHOTOMESH_EXE_SERVER_PORT=XXXXPhotoMesh Fuser API (Port 8085)
The PhotoMesh Fuser service listens for requests from the PhotoMesh Manager on port 8085. The required configuration belongs on each computer running a PhotoMesh fuser, not on the Manager computer unless it also runs a fuser.
The fuser service normally registers its HTTP URL reservation automatically based on the WebApiUrl setting in PMFuserService.exe.config. Use the following manual configuration procedures only if automatic configuration fails.
Configure firewall access
When a fuser runs on another computer, Windows Firewall on the fuser computer must allow inbound connections from the PhotoMesh Manager on port 8085.
- Open Command Prompt as Administrator.
- Run the following command to create a Windows Firewall rule:
netsh advfirewall firewall add rule name="PM Fuser API WebAPI TCP Port 8085" dir=in action=allow protocol=TCP localport=8085Configure the URL reservation
The URL reservation allows the PhotoMesh Fuser service to listen on its configured HTTP URL. The fuser service normally creates this reservation automatically. If automatic registration fails, create it manually on the affected fuser computer.
- Open Command Prompt as Administrator.
- Run the following command to create the required HTTP URL reservation:
netsh http add urlacl url=http://*:8085/ sddl="D:(A;;GX;;;WD)"Change the API port (optional)
To change the port used by the PhotoMesh Fuser API:
- Open PMFuserService.exe.config in a text editor. The file is located in the Fuser folder.
- Modify the value of WebApiUrl. For example:
<add key="WebApiUrl" value="http://*:XXXX/" />3. The fuser automatically advertises its configured port to the fuser pool; no corresponding PhotoMesh Manager setting needs to be changed. If the new port must be accessible from another computer, update the Windows Firewall rule accordingly. The fuser normally registers the required HTTP URL reservation automatically; if automatic URL registration fails, create a URL reservation for the new HTTP URL.
Project Queue API (Port 8087 by default)
Configure firewall access
This procedure is required only when the Project Queue API must be accessed from another computer.
- Open Command Prompt as Administrator.
- Run the following command to create a Windows Firewall rule:
netsh advfirewall firewall add rule name="PM ProjectQueue WebAPI TCP Port 8087" dir=in action=allow protocol=TCP localport=8087The firewall rule allows inbound TCP connections on port 8087.
Change the API port (optional)
To change the port used by the Project Queue API:
- Open the .env file in a text editor. The file is located in the PhotoMesh.js folder.
- Modify the value of PORT. For example:
PORT=8087Change it to:
PORT=XXXX3. If the Project Queue API must be accessed from another computer, update the Windows Firewall rule to allow inbound connections on the new port. If Windows Firewall already allows inbound connections on the entire 8086–8095 range and the new port is within that range, no additional firewall rule is required.