Docker下CentOS7配置IPV6并支持Nginx访问

这篇具有很好参考价值的文章主要介绍了Docker下CentOS7配置IPV6并支持Nginx访问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Docker下CentOS7配置IPV6并支持Nginx访问


配置docker

##需要修改docker配置文件,配置支持IPV6,下面的配置仅供参考
{
  "experimental": true,
  "fixed-cidr-v6": "2607:f0d0:1002:51::/66", ## 必填,指定IPV6网段
  "ip6tables": false, ## false 或者不写
  "ipv6": true, ## 必填
  "registry-mirrors": [ ## 推荐配置为国内地址,这里使用的是阿里云地址
    "https://z4j0vmao.mirror.aliyuncs.com"
  ]
}

创建容器

docker run -d --name centos7-port  --privileged=true  -p 80:80 -p 8080:8080 -p 8088:8088  -v D:/docker/centos/home:/home centos:centos7.9.2009 /usr/sbin/init
命令 含义
–name centos7-port 容器名字叫 centos7-port
–privileged=true 获取特权
-p 80:80 -p 8080:8080 -p 8088:8088 映射80 8080 8088 三个端口
-v D:/docker/centos/home:/home 将本机 D:/docker/centos/home 映射到容器的 /home
centos:centos7.9.2009 指定使用的镜像,没有的先下载
/usr/sbin/init 初始化容器

更新依赖

yum update -y

测试 IPV6地址

查看IPV6地址

sh-4.2# yum install net-tools
sh-4.2# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 172.17.0.2  netmask 255.255.0.0  broadcast 172.17.255.255
        ## 下面就是IPV6地址,但是注意,这是容器的地址,并是不主机的地址,要访问的也不是这个地址
        inet6 2607:f0d0:1002:51:0:242:ac11:2  prefixlen 66  scopeid 0x0<global>
        inet6 fe80::42:acff:fe11:2  prefixlen 64  scopeid 0x20<link>
        ether 02:42:ac:11:00:02  txqueuelen 0  (Ethernet)
        RX packets 111287  bytes 162126536 (154.6 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 29610  bytes 1984231 (1.8 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sh-4.2# 

使用 ping 命令测试

sh-4.2# ping6 2607:f0d0:1002:51:0:242:ac11:2
PING 2607:f0d0:1002:51:0:242:ac11:2(2607:f0d0:1002:51:0:242:ac11:2) 56 data bytes
64 bytes from 2607:f0d0:1002:51:0:242:ac11:2: icmp_seq=1 ttl=64 time=0.023 ms
64 bytes from 2607:f0d0:1002:51:0:242:ac11:2: icmp_seq=2 ttl=64 time=0.025 ms
64 bytes from 2607:f0d0:1002:51:0:242:ac11:2: icmp_seq=3 ttl=64 time=0.023 ms
64 bytes from 2607:f0d0:1002:51:0:242:ac11:2: icmp_seq=4 ttl=64 time=0.071 ms
64 bytes from 2607:f0d0:1002:51:0:242:ac11:2: icmp_seq=5 ttl=64 time=0.092 ms
64 bytes from 2607:f0d0:1002:51:0:242:ac11:2: icmp_seq=6 ttl=64 time=0.083 ms
^C
--- 2607:f0d0:1002:51:0:242:ac11:2 ping statistics ---
6 packets transmitted, 6 received, 0% packet loss, time 5210ms
rtt min/avg/max/mdev = 0.023/0.052/0.092/0.031 ms

Linux 防火墙开放ipv6的80端口

我测试不需要这样,根据具体以情况选择是否执行

[root@localhost ~]# ip6tables -I INPUT -p tcp --dport 80 -j ACCEPT
[root@localhost ~]# Service ip6tables save

下载Nginx

安装下载工具

yum install wget -y

创建Nginx文件夹

sh-4.2# cd /home/  
sh-4.2# mkdir nginx
sh-4.2# cd ./nginx

下载Nginx安装包

wget https://nginx.org/download/nginx-1.4.6.tar.gz

安装Nginx需要的依赖

yum install -y pcre pcre-devel  gcc gcc-c++  zlib zlib-devel  openssl openssl-devel iptables-ipv6

安装Nginx

解压安装包

tar -xzvf nginx-1.4.6.tar.gz 

创建安装文件夹

sh-4.2# mkdir nginxInstall
sh-4.2# cd ./nginxInstall/
sh-4.2# pwd
/home/nginx/nginxInstall
sh-4.2# 

配置安装位置和模块

sh-4.2# cd ./nginx-1.4.6
sh-4.2# pwd
/home/nginx/nginx-1.4.6
sh-4.2#./configure --prefix=/home/nginx/nginxInstall --with-http_stub_status_module --without-http-cache --with-http_ssl_module --with-http_gzip_static_module --with-ipv6  

编译并安装

make && make install

配置环境变量

sh-4.2# pwd                  
/home/nginx/nginx-1.4.6
sh-4.2# ls
CHANGES  CHANGES.ru  LICENSE  Makefile  README  auto  conf  configure  contrib  html  man  objs  src
## 安装编辑器
sh-4.2# yum install vim -y
sh-4.2# vim /etc/profile
## 演示环境是新创建的容器,没有多余的环境变量,增加如下两行
export NGINX_HOME=/home/nginx/nginxInstall
export PATH=$NGINX_HOME/sbin:$PATH
## 刷新环境变量
sh-4.2# source /etc/profile

启动Nginx

sh-4.2# pwd
/home/nginx/nginx-1.4.6
sh-4.2# nginx 
sh-4.2# ps -ef|grep nginx
root      2723     1  0 06:47 ?        00:00:00 nginx: master process nginx
nobody    2724  2723  0 06:47 ?        00:00:00 nginx: worker process
root      2726    63  0 06:47 pts/0    00:00:00 grep --color=auto nginx
sh-4.2# 

访问测试

由于使用的是虚拟机,并将端口与主机共享,所有使用主机地址测试

使用主机浏览器访问 http://127.0.0.1/ 出现Nginx 环境页面说明安装正常文章来源地址https://www.toymoban.com/news/detail-693489.html

配置IPV6

sh-4.2# cd /home/nginx/nginxInstall/conf/
sh-4.2# cp nginx.conf nginx.conf.backup
sh-4.2# vim nginx.conf
## 在 nginx.conf 中增加  listen     [::]:80; 如下:
    server {
        listen       80;
        listen     [::]:80;
## 测试Nginx 是否正常
sh-4.2# nginx  -t  
nginx: the configuration file /home/nginx/nginxInstall/conf/nginx.conf syntax is ok
nginx: configuration file /home/nginx/nginxInstall/conf/nginx.conf test is successful
## 重新加载Nginx
sh-4.2# nginx -s reload 

测试IPV6

使用 curl 测试

sh-4.2# curl -6 -g 'http://[2607:f0d0:1002:51:0:242:ac11:2]:80'
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>

使用wget 测试

sh-4.2# wget -6 'http://[2607:f0d0:1002:51:0:242:ac11:2]:80'
--2023-06-12 02:15:23--  http://[2607:f0d0:1002:51:0:242:ac11:2]/
Connecting to [2607:f0d0:1002:51:0:242:ac11:2]:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 612 [text/html]
Saving to: 'index.html'

100%[=====================================================================================================>] 612         --.-K/s   in 0s      

2023-06-12 02:15:23 (146 MB/s) - 'index.html' saved [612/612]

sh-4.2# 

使用 telnet 测试

sh-4.2# yum install telnet-server           
sh-4.2# yum install telnet.*            
sh-4.2# telnet -6 2607:f0d0:1002:51:0:242:ac11:2 80
Trying 2607:f0d0:1002:51:0:242:ac11:2...
Connected to 2607:f0d0:1002:51:0:242:ac11:2.
Escape character is '^]'.
^CConnection closed by foreign host.
sh-4.2# 

到了这里,关于Docker下CentOS7配置IPV6并支持Nginx访问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [服务器-数据库]MongoDBv7.0.4不支持ipv6访问

    错误描述 报错如下描述 问题分析 首先确定其是否支持ipv6网络 不支持的话修改器配置文件如下所示 查看服务器是否开启防火墙权限 错误原因 原因1:配置文件 原因2:服务器防火墙 原因3:navicat中,访问地址需要加中括号 解决方式 在navicat中,需要加中括号

    2024年02月22日
    浏览(46)
  • 怎么通过ssh连上ipv6的服务器?阿里云怎么配置ipv6?wsl2怎么支持ipv6?

    最近在研究ipv6,光调通环境居然让我折腾了好多回,现在终于通了 在这里提一句,IPV6和IPV4是两种东西,不要想着ipv6兼容ipv4,你就当它是全新的东西 测试通过就代表你电脑可以访问ipv6 http://www.test-ipv6.com/ 如果不行,你需要先看光猫有没有开ipv6,比如我就是拿到公司光猫的

    2024年02月05日
    浏览(60)
  • IPv6--ACL6(IPv6访问控制列表--高级ACL6配置)

    高级ACL6根据源IPv6地址、目的IPv6地址、IPv6协议类型、TCP源/目的端口号、UDP源/目的端口号、分片信息和生效时间段等信息来定义规则,对IPv6报文进行过滤。 高级ACL6比基本ACL6提供了更准确、丰富、灵活的规则定义方法。例如,当希望同时根据源IPv6地址和目的IPv6地址对报文进

    2024年01月24日
    浏览(43)
  • centos配置网卡自动获取ipv4和ipv6地址

    环境: os:centos7 正常网卡通过dhcp是不会自动获取ipv6地址的,一般手动执行 dhclient -6 网卡名 可以获取。 现在需求是:实现os启动后自动获取到ipv6地址 在网卡对应的配置文件 /etc/sysconfig/network-scripts/ifcfg-网卡名 中添加(修改)如下字段,然后重启 本次实践采用的是kvm虚机,

    2024年02月16日
    浏览(44)
  • 入门小白,使用ubuntu,使用docker或者docker-compose搭建家庭个人网盘nextcloud,外网通过IPV6域名访问。第三篇--配置 ddns-go 以及 dynv6

    由于在第一篇中说过,放弃使用ipv4 连接 优点,家里设备都可以拥有一个 ipv6公网地址 缺点,地址会变。。。 缺点,公司网络网络下,可能访问不到。。。 所以采用ddns-go 配置 dynv6的方案 即使设备的ipv6地址变化了,也不用你做额外的事,一切交给系统就行。 不用写代码,不

    2024年02月06日
    浏览(48)
  • yum安装nginx、源码安装、nginx开机自启、配置多域名与重定向、反向代理、配置IPv6、获取证书与配置证书https

    可以使用yum直接安装nginx:yum -y install nginx,如果安装报错,可以换个yum源试试 源码安装提供更大的灵活性,但需要更多的手动管理,而Yum安装则更方便 yum源镜像站,阿里云的推荐:https://developer.aliyun.com/mirror/ 常用的镜像:epel和centos,根据提示命令直接安装即可 然后执行:

    2024年02月20日
    浏览(68)
  • Nginx 开启 IPv6 Nginx 开启 IPv6 SSL

    前置条件 Nginx 开启 IPv6 Nginx 开启 IPv6 SSL 前置条件 所在服务器已经开启 IPv6 ECS服务器开启ipv6 Nginx 开启 IPv6 Nginx 默认配置中已经开启了 IPv6。 即 listen [::]:80 default_server; 重启后,检查端口监听,发现已经监听在 :::80 和:::443上,即监听在 IPv6 的 80和443端口上。 $: netstat -ntlp | gr

    2024年02月06日
    浏览(69)
  • 群晖折腾记1—群晖NAS使用docker中的ddns-go,DDNS阿里云ali实现Ipv6访问

    1、移动宽带只有IPv6公网地址,若你的宽带为电信或联通,它们都可以申请到公网IPv4地址,不需要这么复杂。 2、主路由为小米AX9000(虽然是定制OpenWrt系统,但是固件真的很辣鸡, 已开启SSH ),若你的路由器为其它系统,可以参考思路。 3、路由器拨号,怎么设置光猫桥接自己

    2024年02月13日
    浏览(59)
  • linux ipv6动态解析,家庭宽带ipv6搭建外网访问方案,ddns动态解析ipv6,ipv6建站等

    注意:ipv6和ipv4之间不可互相访问!!! 如题: 1、先确认我们本地是否有公网ipv6地址 Windows查看方法:打开cmd、输入ipconfig 看到有2开头的就是公网ipv6了 linux下输入ifconfig即可 再或者通过ipv6test查看,浏览器打开Test your IPv6.即可  如图即可知道自己是否获取到ipv6 2、如果没有

    2024年02月06日
    浏览(56)
  • (十)centos7案例实战——实现nginx代理访问redis服务

    本节内容是关于实现nginx代理访问redis服务,由于在实际生产开发环境中,我们并不想将我们的中间键服务暴露在公网环境中,或者只能在内网环境中使用,例如本节内容,我们将redis安装到本地环境,但是又有需要临时在公网环境查看我们的redis数据,那该如何解决这个问题

    2023年04月13日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包