Nginx代理外网映射

外网映射内网端口8080, 外网访问使用端口8379;

nginx监听8080和80端口

  1 #user  nobody;
  2 worker_processes  4;
  3 
  4 #error_log  logs/error.log;
  5 #error_log  logs/error.log  notice;
  6 #error_log  logs/error.log  info;
  7 
  8 pid        logs/nginx.pid;
  9 
 10 worker_rlimit_nofile 65535;
 11 
 12 events {
 13     use epoll;
 14     worker_connections  65535;
 15 }
 16 
 17 
 18 http {
 19     include       mime.types;
 20     default_type  application/octet-stream;
 21 
 22     #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
 23     #                  '$status $body_bytes_sent "$http_referer" '
 24     #                  '"$http_user_agent" "$http_x_forwarded_for"';
 25 
 26     #access_log  logs/access.log  main;
 27 
 28     gzip on;
 29     gzip_min_length 1k;
 30     gzip_buffers 16 64k;
 31     gzip_http_version 1.1;
 32     gzip_comp_level 4;
 33     gzip_types text/plain text/css application/xml image/png;
 34     gzip_vary on;
 35 
 36     sendfile    on;
 37 
 38     tcp_nopush on;
 39     tcp_nodelay on;
 40     keepalive_timeout 120;
 41 
 42     client_max_body_size 1024m;
 43    
 44     server {
 45         listen       8080;
 46         server_name  192.168.7.85;
 47         #charset koi8-r;
 48 
 49         #access_log  logs/host.access.log  main;
 50 
 51         index        index.jsp;
 52 
 53             location / {
 54                 proxy_redirect off;
 55                 index    index.jsp;
 56                 proxy_pass    http://localhost:8088;
 57                 proxy_set_header    Host    $host:8379;
 58                 proxy_set_header    X-Real_IP    $remote_addr;
 59                 proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
 60             }
 61 
 62             location ^~ /upload/ {
 63                 proxy_redirect off;
 64                 expires    10d;
 65                 root     /var/e_learning;
 66             }
 67 
 68             location ~*\.(gif|jpg|png|js|css)$ {
 69                 proxy_redirect off;
 70                 expires 10d;
 71                 proxy_pass    http://localhost:8088;
 72                 proxy_set_header    Host  $host:8379;
 73                 proxy_set_header    X-Real_IP    $remote_addr;
 74                 proxy_set_header    X-Forwarded-For    $proxy_add_x_forwarded_for;
 75             }
 76 }
 77 server{
 78     listen      80;
 79     server_name localhost;
 80     index       index.jsp;
 81     location / {
 82         index   index.jsp;
 83         proxy_pass  http://localhost:8088;
 84         proxy_set_header    Host    $host:$server_port;
 85         proxy_set_header    X-Real_IP   $remote_addr;
 86         proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
 87     }
 88     #鎵€鏈変笂浼犵殑鏂囦欢鐨勮闂厤缃?
 89     location ^~ /upload/ {
 90         expires 10d;
 91         root    /var/e_learning; #澶氬彴WEB鏈嶅姟鍣ㄧ敤NFS鍋氬叡浜鐞?榛樿鍦板潃
 92     }
 93     location ~*\.(gif|jpg|png|js|css)$ {
 94         expires 10d;
 95         proxy_pass  http://localhost:8088;
 96         proxy_set_header    Host    $host:$server_port;
 97         proxy_set_header    X-Real_IP   $remote_addr;
 98         proxy_set_header    X-Forwarded-For $proxy_add_x_forwarded_for;
 99     }
100 }
101     # another virtual host using mix of IP-, name-, and port-based configuration
102     #
103     #server {
104     #    listen       8000;
105     #    listen       somename:8080;
106     #    server_name  somename  alias  another.alias;
107 
108     #    location / {
109     #        root   html;
110     #        index  index.html index.htm;
111     #    }
112     #}
113 
114 
115     # HTTPS server
116     #
117     #server {
118     #    listen       443 ssl;
119     #    server_name  localhost;
120 
121     #    ssl_certificate      cert.pem;
122     #    ssl_certificate_key  cert.key;
123 
124     #    ssl_session_cache    shared:SSL:1m;
125     #    ssl_session_timeout  5m;
126 
127     #    ssl_ciphers  HIGH:!aNULL:!MD5;
128     #    ssl_prefer_server_ciphers  on;
129 
130     #    location / {
131     #        root   html;
132     #        index  index.html index.htm;
133     #    }
134     #}
135 
136 }
137 rtmp {
138     server{
139     listen 1935;
140       application vod {
141          play /var/e_learning/upload/resource;
142        on_play http://192.168.7.85/video/checkByNginx.html;
143     }
144     application test{
145             play /var/e_learning/upload/;
146         }       
147 }
148 }

 

转载于:https://www.cnblogs.com/libaoting/p/4155681.html

### 配置 Nginx 进行端口转发 为了使内网中的 HTTP 服务能够被外网访问,可以通过配置 Nginx 来实现端口转发。以下是具体的配置方法: #### 安装 Nginx 确保在外网服务器上已经安装并启动了 Nginx。 ```bash sudo apt update && sudo apt install nginx -y ``` #### 修改 Nginx 配置文件 编辑 `/etc/nginx/sites-available/default` 或创建一个新的站点配置文件,在其中添加如下内容以定义反向代理规则[^1]: ```nginx server { listen 80; server_name yourdomain.com; location / { proxy_pass http://internal_server_ip:inner_port/; 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; } } ``` 在此配置中: - `listen 80;` 表示监听外部请求的端口号为 80。 - `server_name` 应替换为实际使用的域名。 - `proxy_pass` 后面跟的是内部目标机器 IP 地址以及其开放的服务端口。 - 使用 `proxy_set_header` 设置一些必要的头部信息以便于后续处理和日志记录[^4]。 完成上述修改之后保存文件,并重启 Nginx 使得更改生效: ```bash sudo systemctl restart nginx ``` 此时当有来自互联网上的请求到达这台运行着 Nginx 的主机时,它会根据设定好的路径将这些请求转交给指定的内部服务器去响应。 对于更复杂的场景如 TCP/UDP 流量转发,则需启用 stream 模块来进行相应的设置[^5]: ```nginx stream { upstream backend { server internal_server_ip:inner_tcp_port; } server { listen external_tcp_port; proxy_pass backend; } } ``` 此部分同样需要放置在全局级别的上下文中(即不在任何其他 block 内),并且记得再次重载或重启 Nginx 让改动起效。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值