分类 笔记 下的文章

要将nginx配置为Spring Boot应用程序的反向代理,可以按照以下步骤进行操作:

  1. 确保你的Spring Boot应用程序正在侦听本地主机和端口。例如,如果你的应用程序正在侦听端口8080,请使用以下命令启动应用程序:
java -jar myapp.jar --server.port=8080
  1. 在nginx配置文件中创建一个服务器块(server block),该块将包含你要反向代理的Spring Boot应用程序的配置。例如:
server {
    listen 80;
    server_name example.com;
    
    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Host $host;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

在这个例子中,我们在80端口上侦听HTTP请求,并将它们代理到localhost:8080。 proxy_pass指令用于将请求转发到你的Spring Boot应用程序的实际位置。 proxy_set_header指令用于配置要发送给Spring Boot应用程序的标头,例如客户端的IP地址和主机名。
3. 在你的DNS记录中,将域名“example.com”指向nginx服务器的公共IP地址。
4. 重新加载nginx配置文件以使更改生效。在Ubuntu上,可以使用以下命令重载配置文件:

sudo service nginx reload

完成这些步骤后,nginx服务应该已经成功配置为反向代理到你的Spring Boot应用程序,将所有来自Internet的请求代理到你的应用程序。

在Hyper-V下Windows系虚拟机默认就能够开启增强会话。
增强会话下虚拟机可以很方便的和宿主机共享剪切板与文件,并且在增强会话开启时也能够方便的调整分辨率。
而Ubuntu等Linux系统下则默认为基本会话,分辨率的调整需要修改引导文件,而剪切板和宿主机是独立的非常不方便。

1. Ubuntu20.04 虚拟机下安装

wget https://raw.githubusercontent.com/Hinara/linux-vm-tools/ubuntu20-04/ubuntu/20.04/install.sh

chmod +x install.sh

sudo ./install.sh

2. Windows 管理员权限运行 Power Shell

关闭虚拟机
powerShell 下运行, 获取虚拟机名称

Get-VM 
Set-VM -VMName <虚拟机名称> -EnhancedSessionTransportType HvSocket

打开虚拟机,连接-> 即可弹出设置分辨率窗口
20221208230229

要在nginx上配置反向代理WebSocket,需要使用proxy_pass指令,并配置WebSocket的特殊头。以下是一个示例配置:


server {
    listen 80;
    server_name example.com;

    location /ws {
        proxy_pass http://backend;
        proxy_http_version 1.1;
        proxy_set_header X-Real-IP $remote_addr;  # 获取客户端IP
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
    }
}

upstream backend {
    server 127.0.0.1:3000;
}

在这个配置中,nginx将收到的所有WebSocket连接请求代理到http://backend,它在此处定义为127.0.0.1:3000。 proxy_http_version指令设置为1.1,以确保nginx可以正确处理WebSocket。proxy_set_header指令用于配置WebSocket的特殊头,这些头包括Upgrade,Connection和Host。

请注意,这只是一个基本的配置示例,实际配置可能会因情况而异。确保你的nginx版本支持WebSocket,并在进行更改之前备份您的现有配置文件。