Nginx转发http到https和开机自动启动

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

场景

以下都是基于windows系统ip为虚构

1.ip:172.16.54.55需要访问172.16.54.57的接口服务来查看机械臂的运行状况

2.存在网络隔离172.16.54.55无法直接访问172.16.54.57

3.172.16.54.56与172.16.54.57是机械臂厂商搞得内部网络彼此可以互通

4.172.16.54.55与172.16.54.56是外部网络彼此可以互通

需求设计

在172.16.54.56装一个nginx服务进行请求转发

实操

1.nginx服务的nginx.conf配置

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;

    server {
        listen       80;
        server_name  172.16.54.56;
		
        location / {
            proxy_pass https://172.16.54.57;
            add_header Access-Control-Allow-Origin *;
            add_header Access-Control-Allow-Methods 'GET,POST';
			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 REMOTE-HOST        $remote_addr;
			proxy_set_header X-Forwarded-Proto  $scheme;
			proxy_redirect off;
        }
		
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

    }

}

以上两个问题需要解决

1.跨域 因为访问172.16.54.56的是http请求转发到172.16.54.57是https请求。存在跨域问题。

        什么是跨域? http:ip:port(协议/ip域名/端口 三者只要有一个不一致即存在跨域问题)

可以添加配置

            add_header Access-Control-Allow-Origin *;  

            add_header Access-Control-Allow-Methods 'GET,POST,OPTIONS';  

说明 *针对所有的ip请求 也可以指定某个例如

            add_header Access-Control-Allow-Origin http://172.16.54.56; #不写端口默认是80   

 2. proxy_pass https://172.16.54.57: #https请求默认端口是443 一定不要写默认端口 如果是非443端口可以填 例如proxy_pass https://172.16.54.57:8893

补充

因为nginx必须要开机自动启动可以将nginx加入到windows服务中。

参考以下配置

windows下快速安装nginx 并配置 开机自启动 - 腾讯云开发者社区-腾讯云 (tencent.com)

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: nginx