Nginx 设置域名转发到指定端口的实现方法

进入 /usr/local/nginx/conf

sudo cd /usr/local/nginx/conf

创建 vhost 目录

sudo mkdir vhost

修改 nginx.conf 文件

sudo cp nginx.conf nginx.conf_back
sudo vim nginx.conf

Nginx 设置域名转发到指定端口的实现方法

设置访问机器的 hosts 文件,以便模拟访问,我这里使用的机器是 windows 10,hosts 文件在 C:\Windows\System32\drivers\etc 文件夹下。

Nginx 设置域名转发到指定端口的实现方法

创建端口代理配置文件

sudo cd vhost
sudo vim www.jaydenmall.com.conf
server {
	# 监听 80 端口
  listen 80;
  autoindex on;
  server_name www.jaydenmall.com;
  access_log /usr/local/nginx/logs/access.log combined;
  index index.html index.htm index.jsp index.php;
  if ( $query_string ~* ".*[\;'\<\>].*" ){
    return 404;
  }
  location / {
    # 反向代理到 8080 端口
    proxy_pass http://127.0.0.1:8080;
    add_header Access-Control-Allow-Origin *;
  }
}

重启 nginx

sudo ../../sbin/nginx -s reload

有可能会出现错误,这时需要使用nginx -c的参数指定nginx.conf文件的位置。

Nginx 设置域名转发到指定端口的实现方法

sudo killall -9 nginx # 杀掉 nginx 进程
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
sudo ../../sbin/nginx -s reload # 重启

端口反向代理成功,注意红色部分是默认的 80 端口,实际指向的确是 tomcat 的 8080 端口。

Nginx 设置域名转发到指定端口的实现方法

相关推荐