Nginx在代理后面:避免自动重定向到内部端口

埃里克·卡普伦

我有一个设置,其中haproxy在example.com:80上侦听,并将HTTP请求代理到在服务器20080上侦听的nginx实例。

nginx所做的只是从提供静态文件/usr/share/nginx/html

因此,例如,http://example.com/doc/映射到/usr/share/nginx/html/doc/

但是,请求http://example.com/doc(不带斜杠)将导致301重定向到http://example.com:20080/doc/

$ curl -i http://example.com/doc
HTTP/1.1 301 Moved Permanently
Server: nginx/1.0.15
Date: Tue, 09 Dec 2014 15:10:44 GMT
Content-Type: text/html
Content-Length: 185
Location: http://example.com:20080/doc/

请注意,nginx已在URL中包含端口20080。但是,这是不必要的,因为该站点的面向公众的URL是,http://example.com/因此重定向应该http://example.com/doc/改为。

向nginx解释这一点的最简单方法是什么?

/etc/nginx/nginx.conf

user              nginx;
worker_processes  1;

error_log  /var/log/nginx/error.log;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    include /etc/nginx/conf.d/*.conf;
}

/etc/nginx/conf.d/default.conf

server {
    listen       20080 default_server;
    include /etc/nginx/default.d/*.conf;

    root /usr/share/nginx/html;
    index index.html;

    location /doc/ {
        auth_basic "Restricted";
        auth_basic_user_file /etc/nginx/htpasswd/doc;
    }
}

nginx.conf文件是CentOS nginx软件包1.0.15版中的默认文件。这是一个古老的版本,但是我无法控制CentOS或它的软件包版本。

阿列克谢十

配置您的HAProxy,或使用port_in_redirect off;指令。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

代理背后的Nginx:避免自动重定向到内部端口

来自分类Dev

在代理后面滚动/重定向到https

来自分类Dev

从uri端口进行nginx代理重定向

来自分类Dev

如何将nginx反向代理修复到用户的wordpress docker重定向端口?

来自分类Dev

如何使Elastic Beanstalk Nginx支持的代理服务器从HTTP自动重定向到HTTPS?

来自分类Dev

通过端口更改自动重定向到https

来自分类Dev

如何使Nginx代理停止重定向到root?

来自分类Dev

nginx反向代理重定向到http而不是https

来自分类Dev

nginx:根据域前缀重定向到端口(动态)

来自分类Dev

Nginx不重定向到https docker端口

来自分类Dev

Nginx反向代理重定向

来自分类Dev

J8上的Jenkins在Nginx反向代理后面重定向

来自分类Dev

WinDivert重定向到代理

来自分类Dev

如何跟踪内部端口重定向?

来自分类Dev

Nginx重定向到PhantomJS

来自分类Dev

Nginx重定向到PhantomJS

来自分类Dev

Nginx确实重定向,而不是代理

来自分类Dev

Nginx代理重定向而不更改URL

来自分类Dev

Nginx反向代理重定向问题

来自分类Dev

Nginx代理重定向而不更改URL

来自分类Dev

在8443 /上的Nginx代理重定向

来自分类Dev

nginx反向代理重定向的最佳方式

来自分类Dev

流明+ nginx =错误500,在内部重定向到“ /index.php”时进行重写或内部重定向

来自分类Dev

nginx-在内部重定向到“ /index.html”时进行重写或内部重定向

来自分类Dev

nginx重定向规则将所有内容重定向到https,甚至用于其他端口

来自分类Dev

SSL 代理后面的 OWIN WS-Federation 重定向

来自分类Dev

Tomcat 7:自动将https请求重定向到端口8443

来自分类Dev

如何处理Nginx反向代理HTTP到HTTP方案重定向

来自分类Dev

访问代理中由apache和nginx托管的wordpress时重定向到127.0.0.1

Related 相关文章

  1. 1

    代理背后的Nginx:避免自动重定向到内部端口

  2. 2

    在代理后面滚动/重定向到https

  3. 3

    从uri端口进行nginx代理重定向

  4. 4

    如何将nginx反向代理修复到用户的wordpress docker重定向端口?

  5. 5

    如何使Elastic Beanstalk Nginx支持的代理服务器从HTTP自动重定向到HTTPS?

  6. 6

    通过端口更改自动重定向到https

  7. 7

    如何使Nginx代理停止重定向到root?

  8. 8

    nginx反向代理重定向到http而不是https

  9. 9

    nginx:根据域前缀重定向到端口(动态)

  10. 10

    Nginx不重定向到https docker端口

  11. 11

    Nginx反向代理重定向

  12. 12

    J8上的Jenkins在Nginx反向代理后面重定向

  13. 13

    WinDivert重定向到代理

  14. 14

    如何跟踪内部端口重定向?

  15. 15

    Nginx重定向到PhantomJS

  16. 16

    Nginx重定向到PhantomJS

  17. 17

    Nginx确实重定向,而不是代理

  18. 18

    Nginx代理重定向而不更改URL

  19. 19

    Nginx反向代理重定向问题

  20. 20

    Nginx代理重定向而不更改URL

  21. 21

    在8443 /上的Nginx代理重定向

  22. 22

    nginx反向代理重定向的最佳方式

  23. 23

    流明+ nginx =错误500,在内部重定向到“ /index.php”时进行重写或内部重定向

  24. 24

    nginx-在内部重定向到“ /index.html”时进行重写或内部重定向

  25. 25

    nginx重定向规则将所有内容重定向到https,甚至用于其他端口

  26. 26

    SSL 代理后面的 OWIN WS-Federation 重定向

  27. 27

    Tomcat 7:自动将https请求重定向到端口8443

  28. 28

    如何处理Nginx反向代理HTTP到HTTP方案重定向

  29. 29

    访问代理中由apache和nginx托管的wordpress时重定向到127.0.0.1

热门标签

归档