|
@@ -0,0 +1,89 @@
|
|
|
+# Using Attu Behind a Proxy with Nginx
|
|
|
+
|
|
|
+This document provides instructions on how to configure Nginx to proxy requests to Attu, a web-based GUI for Milvus.
|
|
|
+
|
|
|
+## Prerequisites
|
|
|
+
|
|
|
+1. **Nginx**: Ensure Nginx is installed on your server. You can install it using your package manager:
|
|
|
+
|
|
|
+```bash
|
|
|
+sudo apt-get install nginx # For Debian/Ubuntu
|
|
|
+sudo yum install nginx # For CentOS/RHEL
|
|
|
+brew install nginx # For Mac OS
|
|
|
+```
|
|
|
+
|
|
|
+2. **Attu**:
|
|
|
+
|
|
|
+```bash
|
|
|
+docker run -p 3000:3000 -e HOST_URL=http://localhost:8080/attu zilliz/attu:dev
|
|
|
+```
|
|
|
+
|
|
|
+The `HOST_URL` environment variable specifies the URL where Attu is hosted. In this case, it is set to `http://localhost:8080/attu/`.
|
|
|
+
|
|
|
+## Nginx Configuration
|
|
|
+
|
|
|
+1. Open your Nginx configuration file for editing. This is typically located at `/etc/nginx/nginx.conf` or in the `/etc/nginx/sites-available/` directory.
|
|
|
+
|
|
|
+2. Add the following server block configuration:
|
|
|
+
|
|
|
+```nginx
|
|
|
+server {
|
|
|
+ listen 8080;
|
|
|
+ server_name localhost;
|
|
|
+
|
|
|
+ location /attu/ {
|
|
|
+ proxy_pass http://localhost:3000/;
|
|
|
+ proxy_http_version 1.1;
|
|
|
+ proxy_set_header Upgrade $http_upgrade;
|
|
|
+ proxy_set_header Connection "Upgrade";
|
|
|
+ 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-Proto $scheme;
|
|
|
+ }
|
|
|
+
|
|
|
+ location /socket.io/ {
|
|
|
+ proxy_pass http://localhost:3000/socket.io/;
|
|
|
+ proxy_http_version 1.1;
|
|
|
+ proxy_set_header Upgrade $http_upgrade;
|
|
|
+ proxy_set_header Connection "Upgrade";
|
|
|
+ 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-Proto $scheme;
|
|
|
+ }
|
|
|
+}
|
|
|
+```
|
|
|
+
|
|
|
+This configuration sets up a proxy for Attu running on `localhost:3000` and maps it to `localhost:8080/attu/`, directing all requests to the specified location.
|
|
|
+
|
|
|
+3. Save the configuration file and exit the editor.
|
|
|
+
|
|
|
+## Restart Nginx
|
|
|
+
|
|
|
+After updating the Nginx configuration, restart the Nginx service to apply the changes:
|
|
|
+
|
|
|
+```bash
|
|
|
+sudo systemctl restart nginx # for Debian/Ubuntu
|
|
|
+sudo systemctl restart nginx # for CentOS/RHEL
|
|
|
+brew services restart nginx # for Mac OS
|
|
|
+```
|
|
|
+
|
|
|
+## Access Attu
|
|
|
+
|
|
|
+You can now access Attu through the proxy at `http://localhost:8080/attu/`.
|
|
|
+
|
|
|
+## Troubleshooting
|
|
|
+
|
|
|
+- **Nginx Fails to Start**: Check the Nginx error logs located at `/var/log/nginx/error.log` for any configuration errors.
|
|
|
+- **Attu Not Accessible**: Ensure that Attu is running on the specified port and that there are no firewall rules blocking access.
|
|
|
+
|
|
|
+## Conclusion
|
|
|
+
|
|
|
+By following these steps, you can configure Nginx to proxy requests to Attu, allowing you to use Attu behind a proxy server. This setup is useful for environments where direct access to Attu is restricted or when you want to centralize access through a single entry point.
|
|
|
+
|
|
|
+For further assistance, refer to the official [Nginx documentation](https://nginx.org/en/docs/) and [Attu documentation](https://github.com/milvus-io/attu).
|
|
|
+
|
|
|
+---
|
|
|
+
|
|
|
+Feel free to modify this document according to your specific requirements.
|