Overview
This section describes network-related configurations for Fess. It covers settings for network connectivity, including port number changes, proxy configurations, and HTTP communication settings.
Port Configuration
Default Ports
Fess uses the following ports by default:
| Service | Port Number |
|---|---|
| Fess Web Application | 8080 |
| OpenSearch (HTTP) | 9201 |
| OpenSearch (Transport) | 9301 |
Changing Fess Web Application Port
Configuration on Linux
To change the port number on Linux, edit bin/fess.in.sh.
For example, to use port 80:
Note
Using port numbers below 1024 requires root privileges or appropriate permission settings (CAP_NET_BIND_SERVICE).
Configuration via Environment Variables
You can also specify the port number using environment variables.
For RPM/DEB Packages
For RPM packages, edit /etc/sysconfig/fess; for DEB packages, edit /etc/default/fess.
Configuration on Windows
On Windows, edit bin\fess.in.bat.
Registering as a Windows Service
When using Fess as a Windows service, also modify the port settings in bin\service.bat. For details, see Windows Service Registration.
Context Path Configuration
To publish Fess under a subdirectory, you can configure the context path.
This configuration makes Fess accessible at http://localhost:8080/search/.
Warning
When changing the context path, you must also configure static file paths appropriately.
Proxy Configuration
Overview
When crawling external sites from within an intranet or accessing external APIs, communications may be blocked by a firewall. In such environments, you need to configure communication via a proxy server.
Crawler Proxy Configuration
Basic Configuration
In the crawl configuration settings on the administration screen, specify the following parameters:
Authenticated Proxy Configuration
If the proxy server requires authentication, add the following:
Excluding Specific Hosts from Proxy
To connect to specific hosts (such as intranet servers) without using the proxy:
System-Wide HTTP Proxy Configuration
To use an HTTP proxy for the entire Fess application, configure it in fess_config.properties.
Warning
Passwords are stored without encryption. Set appropriate file permissions.
Proxy Configuration via Environment Variables
When Java libraries such as SSO authentication need to use a proxy, you must configure it via environment variables. These environment variables are converted to Java system properties (http.proxyHost, https.proxyHost, etc.).
For RPM packages, configure in /etc/sysconfig/fess. For DEB packages, configure in /etc/default/fess.
Note
The http.proxy.* settings in fess_config.properties are used for HTTP communications within Fess. If external Java libraries such as SSO authentication need to use a proxy, also configure the environment variables above.
HTTP Communication Settings
File Upload Limits
You can limit file upload sizes from the administration screen.
| Configuration Item | Description |
|---|---|
http.fileupload.max.size | Maximum file upload size (Default: 262144000 bytes = 250MB) |
http.fileupload.threshold.size | Threshold size to keep in memory (Default: 262144 bytes = 256KB) |
http.fileupload.max.file.count | Maximum number of files that can be uploaded at once (Default: 10) |
Configuration example in fess_config.properties:
Connection Timeout Settings
You can configure connection timeouts to OpenSearch.
| Configuration Item | Description |
|---|---|
search_engine.http.url | OpenSearch URL (Default: http://localhost:9201) |
search_engine.heartbeat_interval | Health check interval in milliseconds (Default: 10000) |
Changing OpenSearch Connection
To connect to an external OpenSearch cluster:
Connecting to Multiple Nodes
To connect to multiple OpenSearch nodes, specify them separated by commas.
SSL/TLS Connection Configuration
To connect to OpenSearch via HTTPS:
Note
To verify certificates, specify the path to the CA certificate in certificate_authorities.
Virtual Host Configuration
Overview
Fess can provide different search results based on the hostname used to access it. For details, see Virtual Host.
Basic Configuration
Configure virtual host headers in fess_config.properties.
Reverse Proxy Integration
Nginx Configuration Example
Apache Configuration Example
SSL/TLS Termination
Configuration example for SSL/TLS termination at the reverse proxy (Nginx):
Firewall Configuration
Opening Required Ports
To make Fess accessible from external networks, open the following ports:
iptables configuration example:
firewalld configuration example:
Security Group Configuration (Cloud Environments)
In cloud environments such as AWS, GCP, and Azure, open the appropriate ports using security groups or network ACLs.
Recommended settings: - Inbound: Ports 80/443 (via HTTP reverse proxy) - Restrict port 8080 to internal access only - Restrict OpenSearch ports 9201/9301 to internal access only
Troubleshooting
Cannot Access After Changing Port
Verify that Fess has been restarted.
Confirm that the port is open in the firewall.
Check for errors in the log file (
fess.log).
Cannot Crawl via Proxy
Verify that the proxy server hostname and port are correct.
If the proxy server requires authentication, configure the username and password.
Check the proxy server logs to see if connection attempts are recorded.
Verify that the
nonProxyHostssetting is appropriate.
Cannot Connect to OpenSearch
Verify that OpenSearch is running.
Confirm that the
search_engine.http.urlsetting is correct.Verify network connectivity:
curl http://localhost:9201Check OpenSearch logs for errors.
Not Working Properly When Accessed via Reverse Proxy
Verify that the
X-Forwarded-Hostheader is configured correctly.Verify that the
X-Forwarded-Protoheader is configured correctly.Verify that the context path is configured correctly.
Check reverse proxy logs for errors.
References
Memory Configuration - Memory Configuration
Windows Service Registration - Windows Service Configuration
Virtual Host - Virtual Host Configuration
Advanced Crawler Configuration - Advanced Crawler Configuration