我正在尝试在subdomain.example.com中设置GitLab。 但是当调用这个url时,它会被redirect到www.example.com。 以下是我的/etc/nginx/sites-available/subdomain.example.com文件。 我跟着这个链接 。 upstream gitlab { server unix:/var/opt/gitlab/gitlab-rails/sockets/gitlab.socket; } server { listen 80; server_name subdomain.example.com; server_tokens off; root /opt/gitlab/embedded/service/gitlab-rails/public; client_max_body_size 250m; access_log /var/log/nginx/gitlab_access.log; error_log /var/log/nginx/gitlab_error.log; location / { proxy_redirect off; proxy_set_header Host $http_host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Real-IP $remote_addr; proxy_pass http://gitlab; } } Nginx的访问日志 172.217.26.206 – – [21/Oct/2017:00:50:37 +0000] "GET / HTTP/1.1" 302 […]
我希望能够访问包含Web应用程序的同一个主机上的多个容器。 当我想访问主机(通过IP地址)或容器(例如通过host_ip_adress /容器1),我得到了来自nginx的503错误。 我想要的是通过ip_addrress_host / container1访问我的container1。 我在网上find的解决scheme是设置一个nginx-proxy前端服务器(来源: https : //blog.florianlopes.io/host-multiple-websites-on-single-host-docker/ ) 我的docker合成文件: docker-compose.yml version: '2' services: nginx-proxy: image: jwilder/nginx-proxy ports: – "80:80" volumes: – /var/run/docker.sock:/tmp/docker.sock site_a: image: php:7.0-apache expose: – "80" environment: – VIRTUAL_HOST=container1 volumes: – ./php:/var/www/html site_b: image: php:7.0-apache expose: – "80" environment: – VIRTUAL_HOST=container2 volumes: – ./php:/var/www/html 我用这个命令运行它: docker-compose up 我在/ etc / […]
在我们的Nginxconfiguration中,我们目前有这个: limit_req_zone $binary_remote_addr zone=two:10m rate=15r/m; limit_req zone=two burst=5 nodelay; 现在我们要改变这个,以便这个速率限制适用于某些IP地址,然后有另一个适用于其他速率限制的限制略less。 geo $limited_net { default 0; 111.222.333.444 1; } map $limited_net $addr_to_limit { 0 ""; 1 $binary_remote_addr; } limit_req_zone $addr_to_limit zone=two:10m rate=15r/m; geo $less_limited_net { default 1; 111.222.333.444 0; } map $less_limited_net $addr_to_limit { 0 ""; 1 $binary_remote_addr; } limit_req_zone $addr_to_limit zone=three:10m rate=25r/m; 因此来自IP 111.222.333.444的stream量将受限于第一个限制性速率限制的影响,而不受第二个限制性限制。 我们还使用了cloudflare,并在/etc/nginx/cloudflare.conf中设置了与此https://support.cloudflare.com/hc/en-us/articles/200170706-How-do-I-恢复原装-访问者IP与- […]
我正在修补Docker和NGINX,我有一个angular色的应用程序,目前正在响应http:// localhost 。 当您点击我的应用程序中的链接时,它会将浏览器中的url更新为http:// localhost / home 。 如果你刷新页面,但是你得到标准的nginx 404页面。 我如何修改我的nginx.conf文件,以便http:// localhost和http:// localhost / home将显示我的angular应用程序而不是404? nginx.conf events {} http { index index.html; server { root /usr/share/nginx/html; location / { #proxy_pass / } } } Dockerfile FROM nginx COPY ./dist /usr/share/nginx/html COPY nginx.conf /etc/nginx/nginx.conf EXPOSE 80
我正在使用nginx,并想知道您使用哪种服务器设置来设置连接允许的最低传输速度? 继续关注一些事情,比如设置一个最小传入数据速率来删除太慢的连接。 任何想法非常赞赏。
我处于需要将所有请求代理到/mypath/到external-site.com 。 为了networking请求在服务器上工作,我需要通过http://external-proxy.com 。 这工作正常,当我访问http://external-site.com ,但我不能强制external-site.com通过https加载。 下面是我试过的nginx.conf 。 location /mypath/ { proxy_pass http://external-proxy.com:8080/; proxy_set_header Host external-site.com; # Trying to load https://external-site.com (instead of http) proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Scheme $scheme; } 如果你看看企业防火墙后面的Nginx proxy_pass反向代理 ,在评论中提出了同样的问题: 这很好,但是如果目标协议是HTTPS呢? 我无法find一种方法来覆盖
我在我的机器上运行了两个nodejs服务器,我希望mydomain.example.com/由除mydomain.example.com/exception之外的其中一台服务器提供服务。 我正在使用nginx并试图做到这一点,但没有奏效。 如何才能做到这一点? server { listen 80; server_name mydomain.example.com; return 301 https://$server_name$request_uri; } server { listen 443 default_server ssl; server_name mydomain.example.com; keepalive_timeout 70; ssl_certificate /etc/chained.crt; ssl_certificate_key /etc/key; ssl_protocols TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers HIGH:!aNULL:!MD5; location / { proxy_pass http://localhost:8081; 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; } location /exception { […]
我们已经完成了信任波扫描服务器,并告诉我们禁用TLSv1。 进入域configuration我已经删除了对TLSv1 ie的支持。 server { listen 443 ssl; listen [::]:443 ssl; server_name .domain.com; ssl_certificate /etc/nginx/ssl/www.domain.com/428394/server.crt; ssl_certificate_key /etc/nginx/ssl/www.domain.com/428394/server.key; ssl_protocols TLSv1.1 TLSv1.2; charset utf-8; access_log off; error_log /var/log/nginx/www.domain.com-error.log error; location / { 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 Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_pass http://428394_app/; proxy_redirect off; # Handle Web Socket Connections proxy_http_version […]
在nginx上使用http2协议(常规的http到Wildfly 10后端)时,我遇到了一个nginx在将头文件丢到后端的问题。 下面的configuration工作时采取http2参数,当http2参数启用,前端似乎工作,但后端没有收到客户端的任何头。 我也尝试添加:proxy_http_version 1.1 – 参数没有效果。 nginx到后台连接是否也需要使用http2协议来传递标头? 我明白,只使用http2到nginx前端是一个常见的用例。 upstream backend { # Use IP Hash for session persistence ip_hash; # List of Wildfly application servers server backend:8080; } server { listen 80; return 301 https://$host$request_uri; } server { listen 443 ssl http2; server_name site.domain.com; keepalive_timeout 70; # Proxy settings proxy_read_timeout 120; proxy_set_header Host $http_host; […]
我试图build立一种与nginx共享主机,其中每个用户都有一个public_html目录。 请求/~username别名为/home/domain-users/username/public_html 。 问题是,我也想启用autoindexing。 通过将下面的configuration添加到服务器块中,对/ /~username/test.txt等特定文件的请求可以/~username/test.txt工作; 它们被别名为/home/domain-users/username/public_html/test.txt 。 然而,当试图请求/~username或~/username/ ,我得到一个404和/var/log/nginx/error.log显示autoindex是由于某种原因试图列出/home/domain-users/username/public_htm (注意丢失的“l”:path被截断。) 由于能够访问/~username没有作为目录的尾部斜杠不是至关重要的,我试图从try_files指令中删除$public_html_path/ 。 然后,即使请求/~username/ 〜username /~username/ ,autoindex也不会被调用。 try_files可能需要使用文字尾部的斜线来使autoindex起作用。 # For requests to "/~username" without a trailing slash set $public_html_path ""; # Lazy quantifier at the end allows processing requests to "~/username". We add the trailing slash later in try_files location ~ ^\/\~(?<user_home_folder>[^\\n\/]+)(?<public_html_path>\/.*)?$ { alias /home/domain-users/$user_home_folder/public_html; […]