nginx反向代理通过不加端口通过域名访问

域名+端口改为直接通过域名访问

问题
本文是购买的云服务器通过配置解析,使docker项目通过域名+端口访问,无法通过域名直接访问而写。
通过网上学习,饶了一大圈终于找到解决办法,结合nginx的启动分享给大家,没有原理,只是实践。另外copy时候注意空格
修改配置文件
1、docker先拉取nginx镜像,此处省略。。
2、启动nginx

docker run -d --name nginx1 -p 80:80 nginx

3、将nginx配置文件复制到宿主机上

1、获取容器ID

docker ps

2、根据容器ID将nginx配置文件复制到宿主机上

docker cp 9d016b45e599:/etc/nginx/conf.d/default.conf /usr/mynginx/conf.d/
docker cp 9d016b45e599:/etc/nginx/nginx.conf /usr/mynginx/conf/

3、修改default.conf内容

 listen       80;
    server_name  www.xiaoxiangzi.xyz;

    #charset koi8-r;
    #access_log  /var/log/nginx/host.access.log  main;

    location / {
         proxy_pass http://01.234.56.789:9001;
        root   /usr/share/nginx/html;
        index  index.html index.htm;
    }
此处解释下:将server_name修改为你的域名,增加proxy_pass信息即公网ip+应用端口,记住是公网ip不是docker ip。
标题利用宿主机配置文件
1、先停止容器,并删除容器
docker stop 9d016b45e599
docker rm 9d016b45e599
2、重新启动
docker run -d --name nginx1 -p 80:80 -p 443:443 -v /usr/mynginx/conf/nginx.conf:/etc/nginx/nginx.conf -v /usr/mynginx/logs:/var/log/nginx -v /usr/mynginx/conf.d/default.conf:/etc/nginx/conf.d/default.conf -v /usr/mynginx/static/html:/usr/share/nginx/html nginx
简单解释下: -v 表示挂载服务器目录,即用服务器的配置文件启动docker nginx 。"/usr/mynginx"等目录是我自己创建,任务目录都可以
域名访问
1、配置前:http://www.xiaoxiangzi.xyz:9001/web/hello
2、配置后:http://www.xiaoxiangzi.xyz/web/hello
此处省略结果。。。由于网站备案中无法展示,此处展示的是接口访问,页面的访问还需要再配置,等备案完成再完善吧
结尾
如果本文描述的不够恰当或者错误请指正,欢迎交流学习。。。
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值