标签: nginx-location

nginx 在位置配置 pgadmin

请帮我写配置。它有效,但是当我转到位置http://my.server.ru/pgadmin/时,它会重定向到 / 进行登录,并且 / 中没有位置名称。

server {
    listen      80;
    server_name my.server.ru;
    error_log  /home/user/error.log error;
    location / {
        include         uwsgi_params;
        uwsgi_pass      unix:/run/uwsgi/django_app.sock;
    }
    location /pgadmin {

        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header X-Real-IP  $remote_addr;
        proxy_pass http://127.0.0.1:5050/;
        proxy_redirect http://127.0.0.1:5050 http://$host/pgadmin/;

        }

    location /static/ {
         root    /home/user/django_app;
     expires 365d;
    }
    location /media/ {
        root /home/user/django_app;
     expires 365d;
    }

    location ~ /\.ht    {return 404;}
    location ~ /\.svn/  {return 404;}
    location ~ /\.git/  {return 404;}
    location ~ /\.hg/   {return …
Run Code Online (Sandbox Code Playgroud)

nginx pgadmin nginx-location nginx-reverse-proxy

2
推荐指数
1
解决办法
4737
查看次数

nginx 重定向到错误的网站

我配置了两个在 nginx 后面运行的节点应用程序。nginx 用作反向代理,一个域重定向到它默认 URL 上的错误应用程序,

app1 端口 3000 域http://www.site1.comhttps://www.site1.com

app2 端口 3001 域http://www.site2.com

http://www.site1.comhttps://www.site1.com 工作正常并提供 app1

但是当http://www.site2.com它重定向到https://www.site2.com和服务器 app1

但是当请求http://www.site2.com/someurl时,它会服务器 app2

这是nginx配置

站点 1

server {
        listen 80 default_server;
        listen [::]:80 default_server;
        server_name www.site1.com;
        return 301 https://$server_name$request_uri;
}
server {

  listen 443 ssl;

  server_name www.site.com;
  ssl on;
  ssl_certificate /certificate.crt;
  ssl_certificate_key /psa.rsa;
  location / {
      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_cache_bypass …
Run Code Online (Sandbox Code Playgroud)

nginx nginx-location nginx-reverse-proxy

2
推荐指数
1
解决办法
2176
查看次数

Nginx位置代理传主页一处,其他所有路由,另一处

我需要你的帮助,我一直无法找到执行此操作的确切方法。

我只想将我的主页发送到一个 proxypass 位置

    location / {
        proxy_pass http://website;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    } 
Run Code Online (Sandbox Code Playgroud)

然后将所有其他路由(我不知道它们都会是什么,它将是动态的)发送到另一个代理通道。

    location /* {
        proxy_pass http://interaction;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
    } 
Run Code Online (Sandbox Code Playgroud)

我知道 * 是错误的(因为它不起作用),但它只是代表 /anything 或 /whatever 或 /idontknowyet

谢谢您的帮助!

nginx proxypass nginx-location

1
推荐指数
1
解决办法
2469
查看次数

Nginx反向代理:将所有http请求重定向到https

我有一个反向代理,Nginx 在端口 5000 上运行,我想将所有到达端口 5000 的请求重定向为 https 请求。

现在我收到错误:400 Bad Request 纯 HTTP 请求已发送到 HTTPS 端口

server {
           listen 5000 ssl;
           server_name myserver.com;

           location / {
               proxy_pass                 http://127.0.0.1:8080;
               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;
               proxy_set_header           X-Forwarded-Server  $host;
               proxy_set_header           X-Forwarded-Host  $host;
               proxy_set_header           Host  $host:5000;


               add_header 'Access-Control-Allow-Methods' 'GET, POST';
               add_header 'Access-Control-Allow-Headers' 'Authorization, Content-Type';
               add_header 'Access-Control-Allow-Credentials' 'true';

               # here comes the basic auth, after the options part
               auth_basic            'Restricted';
               auth_basic_user_file  path/to/.htpasswd;

           }

           ssl    on;
           ssl_certificate    path/to/crt;
           ssl_certificate_key    path/to/key;
       }
Run Code Online (Sandbox Code Playgroud)

好吧,我尝试添加 …

nginx nginx-location nginx-reverse-proxy

1
推荐指数
1
解决办法
2万
查看次数

nginx Content-Security-Policy Header 仍然阻止 bootstrapcdn

我的 nginx.conf 中有以下内容

add_header Content-Security-Policy 
    "default-src 'self'; 
    img-src 'self' 'unsafe-inline' 'unsafe-eval' data: *.printfriendly.com *.w.org *.gravatar.com *.vimeocdn.com; 
    script-src 'self' 'unsafe-inline' 'unsafe-eval' *.w.org *.gravatar.com *.googleapis.com *.jsdelivr.net *.printfriendly.com *.kxcdn.com *.vimeocdn.com *.hs-analytics.net *.securitymetrics.com *.google-analytics.com; 
    style-src 'self' 'unsafe-inline' *.googleapis.com *.bootstrapcdn.com *.gstatic.com *.vimeocdn.com; 
    font-src 'self' data: *.googleapis.com *.bootstrapcdn.com *.gstatic.com *.googleapis.com; 
    frame-src 'self' *.vimeocdn.com *.vimeo.com; 
    object-src 'self'";
Run Code Online (Sandbox Code Playgroud)

(我不得不将它多行以使其清晰......)

但是,在我的网站中,我仍然收到此错误:

Content Security Policy: The page’s settings blocked the loading of a resource at http://netdna.bootstrapcdn.com/font-awesome/3.2.1/css/font-awesome.css (“style-src”).
Run Code Online (Sandbox Code Playgroud)

当它被列入白名单时,任何想法为什么会发生这种情况?

nginx content-security-policy nginx-location

1
推荐指数
1
解决办法
6897
查看次数

如何为多个服务配置 NGINX 位置

我想将 NGINX 配置为作为其他微服务的反向代理。

我能够将请求从 NGINX 转发到其中一个微服务

如果我curl http://xx.xx.xx.xx:8080/打电话确实登陆了消费者门户但它使用默认位置配置/

当我评论1st块并配置相同的code位置/consumer-portal并执行操作时curl http://xx.xx.xx.xx:8080/consumer-portal

我得到:

无法获取/消费者门户

我有超过 10 个微服务,我想使用 NGINX 调用它们。

下面是我的nginx.conf文件

worker_processes 4;
events { 
        worker_connections 1024; 
    }

http {
    sendfile on;
    upstream consumer-portal {

         server xx.xx.xx.xx:9006;

    }
    upstream publisher-portal {

         server xx.xx.xx.xx:9001;
    }
    server {
        listen 8080;

        #1st Block
        #location / {
        #    proxy_pass         http://consumer-portal;
        #    proxy_redirect     off;
        #    proxy_set_header   Host $host;
        #    proxy_set_header   X-Real-IP $remote_addr;
        #    proxy_set_header …
Run Code Online (Sandbox Code Playgroud)

nginx docker docker-machine nginx-location nginx-reverse-proxy

1
推荐指数
1
解决办法
5189
查看次数

Nginx-如何使用在位置块中有代理的 https 提供我的静态内容?

我的服务器侦听 443 端口并将请求重定向到服务器中的另一个端口。此外,我的服务器侦听 80 端口并在用户浏览http://www.xxxx.com时向用户显示静态内容

但我也想在用户浏览https://www.xxxx.com时显示静态内容

我该如何管理?我的 Nginx 配置文件是 ;

server {

   listen 443 ssl; 
   server_name xxxx.com;
   ssl_certificate /etc/nginx/ssl/nginx.crt;
   ssl_certificate_key /etc/nginx/ssl/nginx.key;

   location / {
expires off;
      proxy_pass http://backend;
   }
}

server {
  listen 80;
  listen [::]:80;

   server_name xxxx.com;
   root /var/www/xxxx.com/html;
   index index.html;

   location / {
try_files $uri $uri/=404;
   }
}
Run Code Online (Sandbox Code Playgroud)

我想在用户使用https://www.xxxx.com浏览我的网站时显示我的 index.html 文件,并且我的代理将继续在后端工作

nginx nginx-location nginx-reverse-proxy

1
推荐指数
1
解决办法
1492
查看次数

NGINX 将多个路径与代理传递匹配

我正在尝试将多个位置传递给代理,但我根本无法使其工作。有人能指出我正确的方向吗?

这是我到目前为止:

    location / {
            try_files $uri $uri/ /index.html =404
            gzip on;
    }

    location ~* ^/(login|callback|ph|ch|th) {
            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;
            proxy_set_header X-Forwarded-Host $host;
            proxy_cache_bypass $http_upgrade;

            proxy_pass http://127.0.0.1:4002;
    }
Run Code Online (Sandbox Code Playgroud)

正如你可能知道的,我正在努力通过

  • /登录

  • /打回来

  • /ph

  • /ch

  • /th

到端口 4002 上的 localhost,但它没有通过它们?

编辑:如果有任何帮助。我认为我的前端劫持了路径位置?虽然不确定。

nginx nginx-location nginx-reverse-proxy

1
推荐指数
1
解决办法
2847
查看次数

NGINX 在页面重新加载时返回 404 错误(Ember 应用程序)

我正在使用 nginx 在同一域上提供登录页面、SPA(Ember)和 Rails 后端。一切似乎都运行良好,除非我刷新了一些 SPA 路由,例如https://server_name.ru/app/login NGINX 返回 404 错误 /home/aborovkov/apps/frontend/dist/login" failed。如何解决这个问题?

server {
        root /home/aborovkov/apps/landing;
        index index.html index.htm index.nginx-debian.html;
        try_files $uri $uri/ /index.html?/$request_uri;
        add_header Cache-Control "no-store, no-cache, must-revalidate, max-age=0";
        add_header Pragma "no-cache";

        server_name server_name.ru www.server_name.ru;
        access_log /etc/nginx/server_name.access.log;
        error_log /etc/nginx/server_name.error.log;

        location /app {
          alias  /home/aborovkov/apps/frontend/dist;
          index index.html index.htm index.nginx-debian.html
          try_files $uri $uri/ /index.html?/$request_uri;
          add_header Cache-Control "no-store, no-cache, must-revalidate, max-age=0";
          add_header Pragma "no-cache";
        }

        location /api/ {
          root /home/aborovkov/apps/api/current/public;
          proxy_pass  http://localhost:3000;

          passenger_enabled on;
          passenger_app_env production;
          client_max_body_size 100m;
        } …
Run Code Online (Sandbox Code Playgroud)

nginx ember.js nginx-location nginx-config

1
推荐指数
1
解决办法
923
查看次数

安装certbot后,nginx页面未找到错误

我有一个已启动并正在运行的 http 网站(带有 Flask 和 nginx)。我正在尝试使用 ssl 安装,certbot并按照他们的步骤操作会导致成功安装消息(恭喜...),但刷新我的网页会导致404 Not Found nginx/1.18.0 (Ubuntu). 这是nginx.conf之后的文件sudo certbot --nginx

server {
    server_name www.mydomain.com;

    location /static {
        alias /home/ubuntu/adviser/flaskblog/static;
    }

    location / {
        proxy_pass http://localhost:8000;
        include /etc/nginx/proxy_params;
        proxy_redirect off;
    }

    listen 443 ssl; # managed by Certbot
    ssl_certificate /etc/letsencrypt/live/www.mydomain.com/fullchain.pem; # managed by Certbot
    ssl_certificate_key /etc/letsencrypt/live/www.mydomain.com/privkey.pem; # managed by Certbot
    include /etc/letsencrypt/options-ssl-nginx.conf; # managed by Certbot
    ssl_dhparam /etc/letsencrypt/ssl-dhparams.pem; # managed by Certbot

}
server {
    if ($host = www.mydomain.com) …
Run Code Online (Sandbox Code Playgroud)

ssl nginx flask nginx-location certbot

1
推荐指数
1
解决办法
3131
查看次数