Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: add support for X-Forwarded-Port in ProxyFix middleware #13102

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

osaimi
Copy link
Contributor

@osaimi osaimi commented Jan 28, 2025

Summary

Updated ProxyFix middleware to include x_port=1 for handling the X-Forwarded-Port header. Improved the description of RESPECT_XFORWARD_HEADERS_ENABLED for clarity.

I couldn't find RESPECT_XFORWARD_HEADERS_ENABLED in the Dify Document. Please advise if documentation should be added.

Fixes #13070

Screenshots

Before After
... ...

Checklist

  • This change requires a documentation update, included: Dify Document
  • I understand that this PR may be closed in case there was no previous discussion or issues. (This doesn't apply to typos!)
  • I've added a test for each change that was introduced, and I tried as much as possible to make a single atomic change.
  • I've updated the documentation accordingly.
  • I ran dev/reformat(backend) and cd web && npx lint-staged(frontend) to appease the lint gods

@dosubot dosubot bot added size:XS This PR changes 0-9 lines, ignoring generated files. 📚 documentation Improvements or additions to documentation labels Jan 28, 2025
@osaimi osaimi changed the title add support for X-Forwarded-Port in ProxyFix middleware feat: add support for X-Forwarded-Port in ProxyFix middleware Jan 28, 2025
@osaimi osaimi marked this pull request as draft January 28, 2025 17:30
@osaimi osaimi marked this pull request as ready for review January 28, 2025 19:33
@dosubot dosubot bot added the 💪 enhancement New feature or request label Jan 28, 2025
@crazywoola crazywoola requested a review from laipz8200 January 29, 2025 03:50
@laipz8200
Copy link
Member

Hi, @kurokobo. Could you please take a look at this PR about X-Forward?

@kurokobo
Copy link
Contributor

kurokobo commented Feb 8, 2025

@osaimi
Hi, thanks for sending the PR.
Have you tested your PR on your side with the official docker-compose.yaml?

I haven't test this yet but since the current Nginx configuration does not set the header X-Forwarded-Port, so I don't think simply adding x_port=1 will satisfy your requirement:

proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;

In addition, since Nginx is running as a container under Docker network, it seems that some modification is required to set the expected port number to the X-Forwarded-Port.

Even if you are not using the Nginx included in the official compose file, if you want this PR to be merged, I think any changes should work well with the official compose file.

@laipz8200
Thanks for sharing this with me!

@osaimi
Copy link
Contributor Author

osaimi commented Feb 8, 2025

@kurokobo you're right. I'm using my own Nginx config, but it should work out of the box for those using the default Nginx container and needing to modify the ports. I'll add support for the X-Forwarded-Port header in Dify's Nginx.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
📚 documentation Improvements or additions to documentation 💪 enhancement New feature or request size:XS This PR changes 0-9 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Incorrect protocol and port detection when APP_WEB_URL is unset behind Nginx
3 participants