Rumah  >  Soal Jawab  >  teks badan

node.js - Proksi terbalik nginx konfigurasi AWS tidak berkuat kuasa

Saya baru sahaja membeli pelayan Amazon Selepas memasang nginx, saya mahu mengakses port yang ditentukan oleh pelayan melalui nama domain untuk mengakses perkhidmatan yang berbeza Konsol Amazon menetapkan peraturan keselamatan,

Ubah suai fail nginx.conf dan sediakan proksi terbalik:


#user  nobody;
worker_processes 1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
events
{
    worker_connections 1024;
}


http
{
    include 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  logs/access.log  main;
    sendfile on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout 65;

    #gzip  on;

    server
    {
        listen 80;
        server_name localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;
        location /
        {
            root html;
            index index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page 500 502 503 504 /50x.html;
        location = /50x.html
        {
            root html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}
        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }

    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;
    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;
    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;
    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;
    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

    include servers/*.conf;
}

Terutamanya ditambah include servers/*.conf;,在相应的目录下增加conf文件,名字为domainname.com.conf pada akhir, kandungan fail:

upstream testproject
{
    server localhost:8080;
}

server
{
    listen 80;
    server_name domainname.com;

    # send request back to apache ##
    location / {
        proxy_pass http://testproject;

        #Proxy Settings
        proxy_redirect off;
        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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
        proxy_max_temp_file_size 0;
        proxy_connect_timeout 90;
        proxy_send_timeout 90;
        proxy_read_timeout 90;
        proxy_buffer_size 4k;
        proxy_buffers 4 32k;
        proxy_busy_buffers_size 64k;
        proxy_temp_file_write_size 64k;
    }
}

Selepas tetapan selesai, mulakan semula pelayan:

sudo /path/to/nginx -s reload

Alamat aksesdomainname.comHalaman tersebut adalah seperti berikut:

Hasilnya bukan hasil yang diharapkan Secara teori, ia harus melompat ke port 8080的服务器的,但是却没有。请求哪位大神可以指点下?
另外我想直接通过杀死进程的方式重启,执行命令netstat -apn | grep 80, masukkan seperti berikut:

Apakah maksudnya? Bagaimana untuk mencari pid proses mendengar pada port 80?

世界只因有你世界只因有你2734 hari yang lalu549

membalas semua(2)saya akan balas

  • 为情所困

    为情所困2017-05-16 13:38:48

    Anda belum melihatnya dalam mana-mana pelayanlisten 8080;

    balas
    0
  • 伊谢尔伦

    伊谢尔伦2017-05-16 13:38:48

    server {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;    
    }

    Mulakan semula pelayan, bukan muat semula

    balas
    0
  • Batalbalas