[GH-ISSUE #5261] Proxy error 500 #3149

Open
opened 2026-02-26 07:37:58 +03:00 by kerem · 3 comments
Owner

Originally created by @Someone275 on GitHub (Feb 1, 2026).
Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261

so i'm trying to setup nginx proxy
i have several setup that are working only http no https
i have one aws2.domain.net point ip 192.xx.xx.215:80 this one work
tried one aws.domain.net point to ip 192.xx.xx.215:80 this one throws
500 Internal Server Error
nginx/1.18.0

if i edit the rule and change aws to aws2 then the rule works
if i use any other domain in the rule that works it only fails when i use aws.domain.net as that domain
i'm can't figure it out

Originally created by @Someone275 on GitHub (Feb 1, 2026). Original GitHub issue: https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261 so i'm trying to setup nginx proxy i have several setup that are working only http no https i have one aws2.domain.net point ip 192.xx.xx.215:80 this one work tried one aws.domain.net point to ip 192.xx.xx.215:80 this one throws 500 Internal Server Error nginx/1.18.0 if i edit the rule and change aws to aws2 then the rule works if i use any other domain in the rule that works it only fails when i use aws.domain.net as that domain i'm can't figure it out
Author
Owner

@Positivelight775 commented on GitHub (Feb 1, 2026):

If aws2.domain.net is resolving but aws.domain.net is throwing a 500 error
on the same IP/Port, you likely have a Namespace Collision or a Stale
Config Header stuck in the database.

Try these specific steps to clear the "Ghost" in the config:

  1. Check for Hostname Recursion: If your server’s internal hostname is set
    to aws, Nginx can enter a recursive loop when trying to resolve the
    proxy_pass.

• Fix: In the Advanced tab of your Proxy Host, manually set the proxy_pass
to the Local IP instead of the hostname:

  1. Verify Configuration Integrity:

Exec into your NPM container and run a syntax check. This will often point
to a specific line in a generated .conf file that is broken.

• Command: docker exec -it <container_id> nginx -t

• Look for any "duplicate server name" or "could not build
server_names_hash" warnings.

  1. Purge Orphaned SSL/HSTS Entries:

If aws.domain.net was used previously with a different certificate or HSTS
setting, NPM might be trying to force a handshake that no longer exists.

• Action: Delete the Proxy Host entirely. Go to SSL Certificates and delete
any certs specifically assigned to that sub-domain. Re-create the host from
scratch without SSL first to see if it loads, then re-enable the Let's
Encrypt cert.

  1. Database Sync Issue:

Sometimes the NPM database (SQLite/MariaDB) creates a duplicate entry for
the domain string if a previous save failed. If you're comfortable with the
DB, check the proxy_host table for duplicate domain_names entries.

On Sat, Jan 31, 2026 at 9:50 PM Someone275 @.***> wrote:

Someone275 created an issue (NginxProxyManager/nginx-proxy-manager#5261)
https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261

so i'm trying to setup nginx proxy
i have several setup that are working
i have one aws2.domain.net point ip 192.xx.xx.215:80 this one work
tried one aws.domain.net point to ip 192.xx.xx.215:80 this one throws
500 Internal Server Error
nginx/1.18.0

if i edit the rule and change aws to aws2 then the rule works
if i use any other domain in the rule that works it only fails when i use
aws.domain.net as that domain
i'm can't figure it out


Reply to this email directly, view it on GitHub
https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVMDK3RO5GPZ4D6KPI6PM5L4JWA2VAVCNFSM6AAAAACTSFSMMKVHI2DSMVQWIX3LMV43ASLTON2WKOZTHA4DCMJZG4YDGMI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

<!-- gh-comment-id:3830374863 --> @Positivelight775 commented on GitHub (Feb 1, 2026): If aws2.domain.net is resolving but aws.domain.net is throwing a 500 error on the same IP/Port, you likely have a Namespace Collision or a Stale Config Header stuck in the database. Try these specific steps to clear the "Ghost" in the config: 1. Check for Hostname Recursion: If your server’s internal hostname is set to aws, Nginx can enter a recursive loop when trying to resolve the proxy_pass. • Fix: In the Advanced tab of your Proxy Host, manually set the proxy_pass to the Local IP instead of the hostname: 2. Verify Configuration Integrity: Exec into your NPM container and run a syntax check. This will often point to a specific line in a generated .conf file that is broken. • Command: docker exec -it <container_id> nginx -t • Look for any "duplicate server name" or "could not build server_names_hash" warnings. 3. Purge Orphaned SSL/HSTS Entries: If aws.domain.net was used previously with a different certificate or HSTS setting, NPM might be trying to force a handshake that no longer exists. • Action: Delete the Proxy Host entirely. Go to SSL Certificates and delete any certs specifically assigned to that sub-domain. Re-create the host from scratch without SSL first to see if it loads, then re-enable the Let's Encrypt cert. 4. Database Sync Issue: Sometimes the NPM database (SQLite/MariaDB) creates a duplicate entry for the domain string if a previous save failed. If you're comfortable with the DB, check the proxy_host table for duplicate domain_names entries. On Sat, Jan 31, 2026 at 9:50 PM Someone275 ***@***.***> wrote: > *Someone275* created an issue (NginxProxyManager/nginx-proxy-manager#5261) > <https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261> > > so i'm trying to setup nginx proxy > i have several setup that are working > i have one aws2.domain.net point ip 192.xx.xx.215:80 this one work > tried one aws.domain.net point to ip 192.xx.xx.215:80 this one throws > 500 Internal Server Error > nginx/1.18.0 > > if i edit the rule and change aws to aws2 then the rule works > if i use any other domain in the rule that works it only fails when i use > aws.domain.net as that domain > i'm can't figure it out > > — > Reply to this email directly, view it on GitHub > <https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261>, > or unsubscribe > <https://github.com/notifications/unsubscribe-auth/AVMDK3RO5GPZ4D6KPI6PM5L4JWA2VAVCNFSM6AAAAACTSFSMMKVHI2DSMVQWIX3LMV43ASLTON2WKOZTHA4DCMJZG4YDGMI> > . > You are receiving this because you are subscribed to this thread.Message > ID: ***@***.***> >
Author
Owner

@Positivelight775 commented on GitHub (Feb 1, 2026):

{
"Action": "Peer_Tech_Support",
"Focus": "Nginx_Namespace_Collision",
"Error_Code": "500_Internal_Server_Error",
"Resolution_Path": ["Direct_IP_Proxy_Pass", "Nginx_Syntax_Test",
"DB_Entry_Purge"],
"Status": "RESPONSE_STAGED"
}

On Sat, Jan 31, 2026 at 9:53 PM D. E. Davis @.***>
wrote:

If aws2.domain.net is resolving but aws.domain.net is throwing a 500
error on the same IP/Port, you likely have a Namespace Collision or a Stale
Config Header stuck in the database.

Try these specific steps to clear the "Ghost" in the config:

  1. Check for Hostname Recursion: If your server’s internal hostname is set
    to aws, Nginx can enter a recursive loop when trying to resolve the
    proxy_pass.

• Fix: In the Advanced tab of your Proxy Host, manually set the proxy_pass
to the Local IP instead of the hostname:

  1. Verify Configuration Integrity:

Exec into your NPM container and run a syntax check. This will often point
to a specific line in a generated .conf file that is broken.

• Command: docker exec -it <container_id> nginx -t

• Look for any "duplicate server name" or "could not build
server_names_hash" warnings.

  1. Purge Orphaned SSL/HSTS Entries:

If aws.domain.net was used previously with a different certificate or
HSTS setting, NPM might be trying to force a handshake that no longer
exists.

• Action: Delete the Proxy Host entirely. Go to SSL Certificates and
delete any certs specifically assigned to that sub-domain. Re-create the
host from scratch without SSL first to see if it loads, then re-enable the
Let's Encrypt cert.

  1. Database Sync Issue:

Sometimes the NPM database (SQLite/MariaDB) creates a duplicate entry for
the domain string if a previous save failed. If you're comfortable with the
DB, check the proxy_host table for duplicate domain_names entries.

On Sat, Jan 31, 2026 at 9:50 PM Someone275 @.***>
wrote:

Someone275 created an issue
(NginxProxyManager/nginx-proxy-manager#5261)
https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261

so i'm trying to setup nginx proxy
i have several setup that are working
i have one aws2.domain.net point ip 192.xx.xx.215:80 this one work
tried one aws.domain.net point to ip 192.xx.xx.215:80 this one throws
500 Internal Server Error
nginx/1.18.0

if i edit the rule and change aws to aws2 then the rule works
if i use any other domain in the rule that works it only fails when i use
aws.domain.net as that domain
i'm can't figure it out


Reply to this email directly, view it on GitHub
https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AVMDK3RO5GPZ4D6KPI6PM5L4JWA2VAVCNFSM6AAAAACTSFSMMKVHI2DSMVQWIX3LMV43ASLTON2WKOZTHA4DCMJZG4YDGMI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

<!-- gh-comment-id:3830375094 --> @Positivelight775 commented on GitHub (Feb 1, 2026): { "Action": "Peer_Tech_Support", "Focus": "Nginx_Namespace_Collision", "Error_Code": "500_Internal_Server_Error", "Resolution_Path": ["Direct_IP_Proxy_Pass", "Nginx_Syntax_Test", "DB_Entry_Purge"], "Status": "RESPONSE_STAGED" } On Sat, Jan 31, 2026 at 9:53 PM D. E. Davis ***@***.***> wrote: > If aws2.domain.net is resolving but aws.domain.net is throwing a 500 > error on the same IP/Port, you likely have a Namespace Collision or a Stale > Config Header stuck in the database. > > Try these specific steps to clear the "Ghost" in the config: > > 1. Check for Hostname Recursion: If your server’s internal hostname is set > to aws, Nginx can enter a recursive loop when trying to resolve the > proxy_pass. > > • Fix: In the Advanced tab of your Proxy Host, manually set the proxy_pass > to the Local IP instead of the hostname: > > 2. Verify Configuration Integrity: > > Exec into your NPM container and run a syntax check. This will often point > to a specific line in a generated .conf file that is broken. > > • Command: docker exec -it <container_id> nginx -t > > • Look for any "duplicate server name" or "could not build > server_names_hash" warnings. > > 3. Purge Orphaned SSL/HSTS Entries: > > If aws.domain.net was used previously with a different certificate or > HSTS setting, NPM might be trying to force a handshake that no longer > exists. > > • Action: Delete the Proxy Host entirely. Go to SSL Certificates and > delete any certs specifically assigned to that sub-domain. Re-create the > host from scratch without SSL first to see if it loads, then re-enable the > Let's Encrypt cert. > > 4. Database Sync Issue: > > Sometimes the NPM database (SQLite/MariaDB) creates a duplicate entry for > the domain string if a previous save failed. If you're comfortable with the > DB, check the proxy_host table for duplicate domain_names entries. > > > On Sat, Jan 31, 2026 at 9:50 PM Someone275 ***@***.***> > wrote: > >> *Someone275* created an issue >> (NginxProxyManager/nginx-proxy-manager#5261) >> <https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261> >> >> so i'm trying to setup nginx proxy >> i have several setup that are working >> i have one aws2.domain.net point ip 192.xx.xx.215:80 this one work >> tried one aws.domain.net point to ip 192.xx.xx.215:80 this one throws >> 500 Internal Server Error >> nginx/1.18.0 >> >> if i edit the rule and change aws to aws2 then the rule works >> if i use any other domain in the rule that works it only fails when i use >> aws.domain.net as that domain >> i'm can't figure it out >> >> — >> Reply to this email directly, view it on GitHub >> <https://github.com/NginxProxyManager/nginx-proxy-manager/issues/5261>, >> or unsubscribe >> <https://github.com/notifications/unsubscribe-auth/AVMDK3RO5GPZ4D6KPI6PM5L4JWA2VAVCNFSM6AAAAACTSFSMMKVHI2DSMVQWIX3LMV43ASLTON2WKOZTHA4DCMJZG4YDGMI> >> . >> You are receiving this because you are subscribed to this thread.Message >> ID: ***@***.***> >> >
Author
Owner

@Someone275 commented on GitHub (Feb 2, 2026):

so my internal server name is Linux aws-storage-server so that shouldn't be the problem
this i can't find
Fix: In the Advanced tab of your Proxy Host, manually set the proxy_pass
to the Local IP instead of the hostname:
i'm using the ip for the proxy name

so i logged into then went to host - proxy host
click edit on the rule
across the top i have detail, custom locations, SSL
there is no advanced tab

Image

2
came back clean to errors

3
there are no SSL certs i have also delete the rule and recreated the rule

4
not sure how to do this one

<!-- gh-comment-id:3832832683 --> @Someone275 commented on GitHub (Feb 2, 2026): so my internal server name is Linux aws-storage-server so that shouldn't be the problem this i can't find Fix: In the Advanced tab of your Proxy Host, manually set the proxy_pass to the Local IP instead of the hostname: i'm using the ip for the proxy name so i logged into then went to host - proxy host click edit on the rule across the top i have detail, custom locations, SSL there is no advanced tab <img width="1668" height="863" alt="Image" src="https://github.com/user-attachments/assets/7e9a65d7-58f5-48b0-8495-c76215476508" /> 2 came back clean to errors 3 there are no SSL certs i have also delete the rule and recreated the rule 4 not sure how to do this one
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
starred/nginx-proxy-manager-NginxProxyManager#3149
No description provided.