wget https://dl.min.io/server/minio/release/linux-amd64/minio
至少4个空磁盘
fdisk -l
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
yum install -y gdisk
gdisk /dev/sdb
gdisk /dev/sdc
gdisk /dev/sdd
gdisk /dev/sde
mkfs.xfs /dev/sdb -L DISK1
mkfs.xfs /dev/sdc -L DISK2
mkfs.xfs /dev/sdd -L DISK3
mkfs.xfs /dev/sde -L DISK4
mkdir -p /mnt/disk1
mkdir -p /mnt/disk2
mkdir -p /mnt/disk3
mkdir -p /mnt/disk4
/etc/fstab
, 写入文件nano /etc/fstab
写入以下内容
#
LABEL=DISK1 /mnt/disk1 xfs defaults,noatime 0 2
LABEL=DISK2 /mnt/disk2 xfs defaults,noatime 0 2
LABEL=DISK3 /mnt/disk3 xfs defaults,noatime 0 2
LABEL=DISK4 /mnt/disk4 xfs defaults,noatime 0 2
source /etc/fstab
或者
mount /dev/sdb /mnt/disk1
mount /dev/sdc /mnt/disk2
mount /dev/sdd /mnt/disk3
mount /dev/sde /mnt/disk4
列出所有可用块设备的信息,同时还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息
lsblk
umount /dev/sdb /mnt/disk1
umount /dev/sdc /mnt/disk2
umount /dev/sdd /mnt/disk3
umount /dev/sde /mnt/disk4
可以使用Xftp工具
/usr/local/bin/
文件夹中mv minio /usr/local/bin/
chmod +x minio
systemd
服务文件将minio.service
文件,放到/etc/systemd/system
文件夹下
minio.service
#
# systemd service file for MinIO Server forking server
# path: /etc/systemd/system/minio.service
#
[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local
User=minio-user
Group=minio-user
ProtectProc=invisible
EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
# # 2>&1是将标准错误输出重定向到标准输出
#ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES > /var/minio/minio.log 2>&1
# # 指定后台端口为9999
#./minio server --address 0.0.0.0:9000 --console-address 0.0.0.0:36953 /data/minio/data > /data/minio/minio.log 2>&1 &
# Let systemd restart this service always
Restart=always
# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536
# Specifies the maximum number of threads this process can create
TasksMax=infinity
# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no
[Install]
WantedBy=multi-user.target
# Built for ${project.name}-${project.version} (${project.name})
默认情况下,minio.service
文件以minio-user
用户和组运行
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown minio-user:minio-user /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4
在/etc/default/minio
创建环境变量文件minio
# MINIO_ROOT_USER and MINIO_ROOT_PASSWORD sets the root account for the MinIO server.
# This user has unrestricted permissions to perform S3 and administrative API operations on any resource in the deployment.
# Omit to use the default values 'minioadmin:minioadmin'.
# MinIO recommends setting non-default values as a best practice, regardless of environment.
MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin
# MINIO_VOLUMES sets the storage volumes or paths to use for the MinIO server.
# The specified path uses MinIO expansion notation to denote a sequential series of drives between 1 and 4, inclusive.
# All drives or paths included in the expanded drive list must exist *and* be empty or freshly formatted for MinIO to start successfully.
MINIO_VOLUMES="/mnt/disk{1...4}"
# MINIO_SERVER_URL sets the hostname of the local machine for use with the MinIO Server.
# MinIO assumes your network control plane can correctly resolve this hostname to the local machine.
# Uncomment the following line and replace the value with the correct hostname for the local machine.
#MINIO_SERVER_URL="http://minio.example.net"
# 自定义端口9000是指定api端口,36953是指定web管理端口
# MINIO_OPTS="--address 0.0.0.0:9000 --console-address 0.0.0.0:36953"
sudo systemctl enable minio.service
sudo systemctl start minio.service
sudo systemctl status minio.service
journalctl -f -u minio.service
minio server警告我们:这个erasure coding set中有多于两个的drive都在local host上,这样一旦host宕机,那么数据将无法获取。(每个set 有4个drive,根据纠删码的机制,这个set的最大允许失效的disk数量为4/2=2)
minio server警告我们:不要使用默认值,有安全风险
firewall-cmd --zone=public --add-port=9000/tcp --permanent
firewall-cmd --zone=public --add-port=36953/tcp --permanent
firewall-cmd --reload
http://IP:9000
wget https://dl.min.io/server/minio/release/linux-amd64/minio
每台机器至少有4块空磁盘
yum -y install ntp
systemctl enable ntpd
systemctl start ntpd
timedatectl set-ntp yes
ntpdate -u cn.pool.ntp.org
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 查看当前系统时间,并实时刷新
watch -n 1 date
fdisk -l
fdisk /dev/sdb
fdisk /dev/sdc
fdisk /dev/sdd
fdisk /dev/sde
yum install -y gdisk
gdisk /dev/sdb
gdisk /dev/sdc
gdisk /dev/sdd
gdisk /dev/sde
mkfs.xfs /dev/sdb -L DISK1
mkfs.xfs /dev/sdc -L DISK2
mkfs.xfs /dev/sdd -L DISK3
mkfs.xfs /dev/sde -L DISK4
mkdir -p /mnt/disk1
mkdir -p /mnt/disk2
mkdir -p /mnt/disk3
mkdir -p /mnt/disk4
/etc/fstab
, 写入文件nano /etc/fstab
写入以下内容
#
LABEL=DISK1 /mnt/disk1 xfs defaults,noatime 0 2
LABEL=DISK2 /mnt/disk2 xfs defaults,noatime 0 2
LABEL=DISK3 /mnt/disk3 xfs defaults,noatime 0 2
LABEL=DISK4 /mnt/disk4 xfs defaults,noatime 0 2
source /etc/fstab
mount /dev/sdb /mnt/disk1
mount /dev/sdc /mnt/disk2
mount /dev/sdd /mnt/disk3
mount /dev/sde /mnt/disk4
列出所有可用块设备的信息,同时还能显示他们之间的依赖关系,但是它不会列出RAM盘的信息
lsblk
umount /dev/sdb /mnt/disk1
umount /dev/sdc /mnt/disk2
umount /dev/sdd /mnt/disk3
umount /dev/sde /mnt/disk4
可以使用Xftp工具
/usr/local/bin/
文件夹中mv minio /usr/local/bin/
chmod +x minio
默认情况下,minio.service
文件以minio-user
用户和组运行
groupadd -r minio-user
useradd -M -r -g minio-user minio-user
chown minio-user:minio-user /mnt/disk1 /mnt/disk2 /mnt/disk3 /mnt/disk4
在/etc/default/minio
创建环境变量文件minio
minio
# Set the hosts and volumes MinIO uses at startup
# The command uses MinIO expansion notation {x...y} to denote a
# sequential series.
#
# The following example covers four MinIO hosts
# with 4 drives each at the specified hostname and drive locations.
# The command includes the port that each MinIO server listens on
# (default 9000)
MINIO_VOLUMES="http://minio{1...4}.mnmd.net:9000/mnt/disk{1...4}"
# Set all MinIO server options
#
# The following explicitly sets the MinIO Console listen address to
# port 9001 on all network interfaces. The default behavior is dynamic
# port selection.
MINIO_OPTS="--console-address :36953"
# Set the root username. This user has unrestricted permissions to
# perform S3 and administrative API operations on any resource in the
# deployment.
#
# Defer to your organizations requirements for superadmin user name.
MINIO_ROOT_USER=minioadmin
# Set the root password
#
# Use a long, random, unique string that meets your organizations
# requirements for passwords.
MINIO_ROOT_PASSWORD=minioadmin
# Set to the URL of the load balancer for the MinIO deployment
# This value *must* match across all MinIO servers. If you do
# not have a load balancer, set this value to to any *one* of the
# MinIO hosts in the deployment as a temporary measure.
# NO TLS
# MINIO_SERVER_URL="http://minio.nginx.mnmd.net:9000"
# HAVE TLS
MINIO_SERVER_URL="https://minio.nginx.mnmd.net:9000"
vim /etc/hosts
# 添加以下内容
192.168.133.133 minio1.mnmd.net
192.168.133.134 minio2.mnmd.net
192.168.133.135 minio3.mnmd.net
192.168.133.136 minio4.mnmd.net
192.168.133.137 minio.nginx.mnmd.net
# 9000是api服务端口
firewall-cmd --zone=public --add-port=9000/tcp --permanent
# 36953是web管理端口
firewall-cmd --zone=public --add-port=36953/tcp --permanent
# 重启防火墙
firewall-cmd --reload
# 新建日志文件夹
mkdir -pv /var/minio/logs/{minio_api,minio_console}
minio-cluster.conf
# path: /usr/local/nginx/minio-cluster.conf
#user nobody;
user root;
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#gzip on;
upstream minio_console_servers {
server minio1.mnmd.net:36953 weight=25 max_fails=3 fail_timeout=30s;
server minio2.mnmd.net:36953 weight=25 max_fails=3 fail_timeout=30s;
server minio3.mnmd.net:36953 weight=25 max_fails=3 fail_timeout=30s;
server minio4.mnmd.net:36953 weight=25 max_fails=3 fail_timeout=30s;
}
upstream minio_api_servers {
server minio1.mnmd.net:9000 weight=25 max_fails=3 fail_timeout=30s;
server minio2.mnmd.net:9000 weight=25 max_fails=3 fail_timeout=30s;
server minio3.mnmd.net:9000 weight=25 max_fails=3 fail_timeout=30s;
server minio4.mnmd.net:9000 weight=25 max_fails=3 fail_timeout=30s;
}
server {
listen 36953 ssl;
server_name minio.nginx.mnmd.net;
access_log /var/minio/logs/minio_console/minio.access.log;
error_log /var/minio/logs/minio_console/minio.error.log;
ssl_certificate /usr/local/nginx/certs/CAs/public.crt;
ssl_certificate_key /usr/local/nginx/certs/CAs/private.key;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_session_timeout 5m;
# ssl_protocols SSLv2 SSLv3 TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers ALL:!ADH:IEXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
# ssl_prefer_server_ciphers on;
location / {
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
client_body_buffer_size 10M;
client_max_body_size 10G;
# proxy_buffers 1024 4k;
# proxy_read_timeout 3000;
proxy_pass http://minio_console_servers;
}
}
server {
listen 9000 ssl;
server_name minio.nginx.mnmd.net;
access_log /var/minio/logs/minio_api/minio.access.log;
error_log /var/minio/logs/minio_api/minio.error.log;
ssl_certificate /usr/local/nginx/certs/CAs/public.crt;
ssl_certificate_key /usr/local/nginx/certs/CAs/private.key;
# ssl_session_timeout 5m;
# ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
# ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
# ssl_prefer_server_ciphers on;
location / {
proxy_next_upstream http_500 http_502 http_503 http_504 error timeout invalid_header;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
client_body_buffer_size 10M;
client_max_body_size 10G;
# proxy_buffers 1024 4k;
# proxy_read_timeout 3000;
proxy_pass http://minio_api_servers;
}
}
}
/usr/local/nginx/nginx -s quit
/usr/local/nginx/nginx -c /usr/local/nginx/minio-cluster.conf
ps -ef | grep nginx
/usr/local/nginx/nginx -s quit
cd /usr/lib/systemd/system
nginx.service
拷贝到对应的服务器上systemctl daemon-reload
systemctl enable nginx.service
systemctl is-enabled nginx.service
systemctl status nginx.service
systemctl enable nginx.service
systemctl start nginx.service
systemctl stop nginx.service
systemctl restart nginx.service
nginx.service
#
# /usr/lib/systemd/system
# systemd service file for Nginx Server forking server
#
[Unit]
Description=Nginx Server
Documentation=Nginx 1.22.0
Documentation=https://github.com/nginx/nginx
Documentation=https://nginx.org/en/docs/beginners_guide.html
After=network.target
[Service]
User=root
Type=forking
ExecStart=/usr/local/nginx/nginx -c /usr/local/nginx/minio-cluster.conf
ExecReload=/usr/local/nginx/nginx -s reload
ExecStop=/usr/local/nginx/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# 安装
yum install telnet telnet-server
telnet minio.nginx.mnmd.net 9000
telnet minio.nginx.mnmd.net 36953
telnet minio1.mnmd.net 9000
telnet minio1.mnmd.net 36953
telnet minio2.mnmd.net 9000
telnet minio2.mnmd.net 36953
telnet minio3.mnmd.net 9000
telnet minio3.mnmd.net 36953
telnet minio4.mnmd.net 9000
telnet minio4.mnmd.net 36953
mkdir -p /var/minio
chown -R minio-user:minio-user /var/minio
systemctl daemon-reload
systemctl enable minio.service
# su minio-user
systemctl start minio.service
systemctl status minio.service
journalctl -f -u minio.service
Buckets
, 举例,添加log
和bucket01
Manage Bucket
,将Summary
中Access Policy
设置成public
使用TLS
参考 /etc/pki/tls/openssl.cnf
修改openssl.cnf中,[ req_distinguished_name ]和[ alt_names ]
#
# OpenSSL example configuration file.
# This is mostly being used for generation of certificate requests.
#
# This definition stops the following lines choking if HOME isn't
# defined.
HOME = .
RANDFILE = $ENV::HOME/.rnd
# Extra OBJECT IDENTIFIER info:
#oid_file = $ENV::HOME/.oid
oid_section = new_oids
# To use this configuration file with the "-extfile" option of the
# "openssl x509" utility, name here the section containing the
# X.509v3 extensions to use:
# extensions =
# (Alternatively, use a configuration file that has only
# X.509v3 extensions in its main [= default] section.)
[ new_oids ]
# We can add new OIDs in here for use by 'ca', 'req' and 'ts'.
# Add a simple OID like this:
# testoid1=1.2.3.4
# Or use config file substitution like this:
# testoid2=${testoid1}.5.6
# Policies used by the TSA examples.
tsa_policy1 = 1.2.3.4.1
tsa_policy2 = 1.2.3.4.5.6
tsa_policy3 = 1.2.3.4.5.7
####################################################################
[ ca ]
default_ca = CA_default # The default ca section
####################################################################
[ CA_default ]
dir = /etc/pki/CA # Where everything is kept
certs = $dir/certs # Where the issued certs are kept
crl_dir = $dir/crl # Where the issued crl are kept
database = $dir/index.txt # database index file.
#unique_subject = no # Set to 'no' to allow creation of
# several ctificates with same subject.
new_certs_dir = $dir/newcerts # default place for new certs.
certificate = $dir/cacert.pem # The CA certificate
serial = $dir/serial # The current serial number
crlnumber = $dir/crlnumber # the current crl number
# must be commented out to leave a V1 CRL
crl = $dir/crl.pem # The current CRL
private_key = $dir/private/cakey.pem# The private key
RANDFILE = $dir/private/.rand # private random number file
x509_extensions = usr_cert # The extentions to add to the cert
# Comment out the following two lines for the "traditional"
# (and highly broken) format.
name_opt = ca_default # Subject Name options
cert_opt = ca_default # Certificate field options
# Extension copying option: use with caution.
# copy_extensions = copy
# Extensions to add to a CRL. Note: Netscape communicator chokes on V2 CRLs
# so this is commented out by default to leave a V1 CRL.
# crlnumber must also be commented out to leave a V1 CRL.
# crl_extensions = crl_ext
default_days = 365 # how long to certify for
default_crl_days= 30 # how long before next CRL
default_md = sha256 # use SHA-256 by default
preserve = no # keep passed DN ordering
# A few difference way of specifying how similar the request should look
# For type CA, the listed attributes must be the same, and the optional
# and supplied fields are just that :-)
policy = policy_match
# For the CA policy
[ policy_match ]
countryName = match
stateOrProvinceName = match
organizationName = match
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
# For the 'anything' policy
# At this point in time, you must list all acceptable 'object'
# types.
[ policy_anything ]
countryName = optional
stateOrProvinceName = optional
localityName = optional
organizationName = optional
organizationalUnitName = optional
commonName = supplied
emailAddress = optional
####################################################################
[ req ]
default_bits = 2048
default_md = sha256
default_keyfile = privkey.pem
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca # The extentions to add to the self signed cert
# Passwords for private keys if not present they will be prompted for
# input_password = secret
# output_password = secret
# This sets a mask for permitted string types. There are several options.
# default: PrintableString, T61String, BMPString.
# pkix : PrintableString, BMPString (PKIX recommendation before 2004)
# utf8only: only UTF8Strings (PKIX recommendation after 2004).
# nombstr : PrintableString, T61String (no BMPStrings or UTF8Strings).
# MASK:XXXX a literal mask value.
# WARNING: ancient versions of Netscape crash on BMPStrings or UTF8Strings.
string_mask = utf8only
# req_extensions = v3_req # The extensions to add to a certificate request
[ req_distinguished_name ]
countryName = CN
countryName_default = CN
countryName_min = 2
countryName_max = 2
stateOrProvinceName = liaoning
#stateOrProvinceName_default = Default Province
localityName = dalian
localityName_default = dalian
0.organizationName = minio
0.organizationName_default = minio
# we can do this but it is not needed normally :-)
#1.organizationName = Second Organization Name (eg, company)
#1.organizationName_default = World Wide Web Pty Ltd
organizationalUnitName = minio
#organizationalUnitName_default =
commonName = minio.nginx.mnmd.net
commonName_max = 64
emailAddress = [email protected]
emailAddress_max = 64
# SET-ex3 = SET extension number 3
[ req_attributes ]
challengePassword = A challenge password
challengePassword_min = 4
challengePassword_max = 20
unstructuredName = An optional company name
[ usr_cert ]
# These extensions are added when 'ca' signs a request.
# This goes against PKIX guidelines but some CAs do it and some software
# requires this to avoid interpreting an end user certificate as a CA.
basicConstraints=CA:FALSE
# Here are some examples of the usage of nsCertType. If it is omitted
# the certificate can be used for anything *except* object signing.
# This is OK for an SSL server.
# nsCertType = server
# For an object signing certificate this would be used.
# nsCertType = objsign
# For normal client use this is typical
# nsCertType = client, email
# and for everything including object signing:
# nsCertType = client, email, objsign
# This is typical in keyUsage for a client certificate.
# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
# This will be displayed in Netscape's comment listbox.
nsComment = "OpenSSL Generated Certificate"
# PKIX recommendations harmless if included in all certificates.
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
# This stuff is for subjectAltName and issuerAltname.
# Import the email address.
# subjectAltName=email:copy
# An alternative to produce certificates that aren't
# deprecated according to PKIX.
# subjectAltName=email:move
# Copy subject details
# issuerAltName=issuer:copy
#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem
#nsBaseUrl
#nsRevocationUrl
#nsRenewalUrl
#nsCaPolicyUrl
#nsSslServerName
# This is required for TSA certificates.
# extendedKeyUsage = critical,timeStamping
[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
[ v3_ca ]
# Extensions for a typical CA
# PKIX recommendation.
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
# This is what PKIX recommends but some broken software chokes on critical
# extensions.
#basicConstraints = critical,CA:true
# So we do this instead.
basicConstraints = CA:true
# Key usage: this is typical for a CA certificate. However since it will
# prevent it being used as an test self-signed certificate it is best
# left out by default.
# keyUsage = cRLSign, keyCertSign
# Some might want this also
# nsCertType = sslCA, emailCA
# Include email address in subject alt name: another PKIX recommendation
# subjectAltName=email:copy
# Copy issuer details
# issuerAltName=issuer:copy
subjectAltName=@alt_names
# DER hex encoding of an extension: beware experts only!
# obj=DER:02:03
# Where 'obj' is a standard or added object
# You can even override a supported extension:
# basicConstraints= critical, DER:30:03:01:01:FF
[ alt_names ]
DNS.1 = minio.nginx.mnmd.net
DNS.2 = minio1.mnmd.net
DNS.3 = minio2.mnmd.net
DNS.4 = minio3.mnmd.net
DNS.5 = minio4.mnmd.net
[ crl_ext ]
# CRL extensions.
# Only issuerAltName and authorityKeyIdentifier make any sense in a CRL.
# issuerAltName=issuer:copy
authorityKeyIdentifier=keyid:always
[ proxy_cert_ext ]
# These extensions should be added when creating a proxy certificate
# This goes against PKIX guidelines but some CAs do it and some software
# requires this to avoid interpreting an end user certificate as a CA.
basicConstraints=CA:FALSE
# Here are some examples of the usage of nsCertType. If it is omitted
# the certificate can be used for anything *except* object signing.
# This is OK for an SSL server.
# nsCertType = server
# For an object signing certificate this would be used.
# nsCertType = objsign
# For normal client use this is typical
# nsCertType = client, email
# and for everything including object signing:
# nsCertType = client, email, objsign
# This is typical in keyUsage for a client certificate.
# keyUsage = nonRepudiation, digitalSignature, keyEncipherment
# This will be displayed in Netscape's comment listbox.
nsComment = "OpenSSL Generated Certificate"
# PKIX recommendations harmless if included in all certificates.
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid,issuer
# This stuff is for subjectAltName and issuerAltname.
# Import the email address.
# subjectAltName=email:copy
# An alternative to produce certificates that aren't
# deprecated according to PKIX.
# subjectAltName=email:move
# Copy subject details
# issuerAltName=issuer:copy
#nsCaRevocationUrl = http://www.domain.dom/ca-crl.pem
#nsBaseUrl
#nsRevocationUrl
#nsRenewalUrl
#nsCaPolicyUrl
#nsSslServerName
# This really needs to be in place for it to be a proxy certificate.
proxyCertInfo=critical,language:id-ppl-anyLanguage,pathlen:3,policy:foo
####################################################################
[ tsa ]
default_tsa = tsa_config1 # the default TSA section
[ tsa_config1 ]
# These are used by the TSA reply generation only.
dir = ./demoCA # TSA root directory
serial = $dir/tsaserial # The current serial number (mandatory)
crypto_device = builtin # OpenSSL engine to use for signing
signer_cert = $dir/tsacert.pem # The TSA signing certificate
# (optional)
certs = $dir/cacert.pem # Certificate chain to include in reply
# (optional)
signer_key = $dir/private/tsakey.pem # The TSA private key (optional)
default_policy = tsa_policy1 # Policy if request did not specify it
# (optional)
other_policies = tsa_policy2, tsa_policy3 # acceptable policies (optional)
digests = sha1, sha256, sha384, sha512 # Acceptable message digests (mandatory)
accuracy = secs:1, millisecs:500, microsecs:100 # (optional)
clock_precision_digits = 0 # number of digits after dot. (optional)
ordering = yes # Is ordering defined for timestamps?
# (optional, default: no)
tsa_name = yes # Must the TSA name be included in the reply?
# (optional, default: no)
ess_cert_id_chain = no # Must the ESS cert id chain be included?
# (optional, default: no)
# mkdir -p ${HOME}/.minio/certs
# cd ${HOME}/.minio/certs
# minio-server
mkdir -p /home/minio-user/.minio/certs/CAs
cd /home/minio-user/.minio/certs/CAs
# nginx-server
mkdir -p /usr/local/nginx/certs/CAs
cd /usr/local/nginx/certs/CAs
# 生成自签名证书, 参数说明
# genrsa 生成rsa私钥文件
# -out 输出文件
# 2048 密钥长度,默认512
# req 证书请求的子命令
# -x509 输出证书
# -new 生成证书请求
# –nodes 表示私钥不加密,若不带参数将提示输入密码
# -key 私钥文件
# -subj 输入证书拥有者信息
# -days 证书有效时间
# -subj 参数 多个参数示例:/C=CN/ST=liaoning/L=dalian/O=minio/CN=minio1.mnmd.net
# C Country, 单位所在国家,为两位数的国家缩写,如: CN 就是中国
# ST State/Province, 单位所在州或省
# L Locality, 单位所在城市 / 或县区
# O Organization, 此网站的单位名称
# OU Organization Unit, 下属部门名称;也常常用于显示其他证书相关信息,如证书类型,证书产品名称或身份验证类型或验证内容等
# CN Common Name, 网站的域名
# 生成证书前可以先修改配置文件(选),参考 3.10.1
# nginx 代表的是客户
# minio1/minio2/minio3/minio4 代表的是服务器
# 1.生成CA证书(认证中心)
# 私钥
openssl genrsa -out ca.key 2048
# 公钥
openssl req -x509 -new -nodes -key ca.key -subj "/CN=minio.nginx.mnmd.net" -out ca.crt -days 3650
# 2.生成服务器证书请求
# 私钥
openssl genrsa -out server.key 2048
# 公钥
openssl req -new -nodes -key server.key -subj "/CN=minio.nginx.mnmd.net" -out server.csr
# 3.利用CA证书签名生成服务器证书
echo subjectAltName = DNS:minio*.mnmd.net > extfile.cnf
openssl x509 -req -in server.csr -CA ca.crt -CAkey ca.key -CAcreateserial -extfile extfile.cnf -out server.crt -days 3650
# minio服务中是服务器证书
# 将生成的 `private.key` 和 `public.crt` 放到 `/usr/local/nginx/certs/CAs` 和 `/home/minio-user/.minio/certs/CAs` 路径下
# 授予minio-user用户组
chown -R minio-user:minio-user /home/minio-user/.minio/certs/CAs
# 重新启动nginx
/usr/local/nginx/nginx -s quit
/usr/local/nginx/nginx -c /usr/local/nginx/minio-cluster.conf
# 重新启动minio
systemctl restart minio.service
openssl x509 -in /usr/local/nginx/certs/CAs/public.crt -noout -text
openssl x509 -in /home/minio-user/.minio/certs/CAs/public.crt -noout -text
<dependency>
<groupId>io.miniogroupId>
<artifactId>minioartifactId>
<version>8.4.6version>
dependency>
<dependency>
<groupId>com.squareup.okhttp3groupId>
<artifactId>okhttpartifactId>
<version>4.9.3version>
dependency>
注意
nginx config 中,需要配置client_max_body_size
,否则上传文件过程中,太大的文件无法上传
spring:
servlet:
multipart:
max-file-size: 1GB
max-request-size: 1GB
minio:
endpoint: minio.nginx.mnmd.net
port: 9000
secure: true
accessKey: minioadmin
secretKey: minioadmin
bucketName: bucket01
region: cn-liaoning-dalian
@Data
@Component
@ConfigurationProperties(prefix = "minio")
public class MinioConfig {
/**
* 端点
*/
private String endpoint;
/**
* 端点
*/
private int port;
/**
* 是否是https
*/
private boolean secure;
/**
* 用户名
*/
private String accessKey;
/**
* 密码
*/
private String secretKey;
/**
* 桶名称
*/
private String bucketName;
/**
* 自定义区域,可选
*/
private String region;
@Bean
public MinioClient minioClient() throws KeyManagementException {
return MinioClient.builder().endpoint(endpoint, port, secure)
.credentials(accessKey, secretKey)
.region(region)
.httpClient(HttpsClientUtils.getUnsafeOkHttpsClient())
.build();
}
}
@Slf4j
@Service
public class MinioServiceImpl implements MinioService {
@Autowired
private MinioClient minioClient;
@Value("${minio.bucketName}")
private String defaultBucketName;
@Override
public boolean existBucket() {
return existBucket(defaultBucketName);
}
@Override
public boolean existBucket(String bucketName) {
try {
return minioClient.bucketExists(BucketExistsArgs.builder().bucket(bucketName).build());
} catch (ErrorResponseException | InsufficientDataException | InternalException | InvalidKeyException | InvalidResponseException | IOException | NoSuchAlgorithmException | ServerException | XmlParserException e) {
log.error("判断桶是否存在异常", e.getMessage());
}
return false;
}
@Override
public void createBucket() throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
createBucket(defaultBucketName);
}
@Override
public void createBucket(String bucketName) throws ServerException, InsufficientDataException, ErrorResponseException, IOException, NoSuchAlgorithmException, InvalidKeyException, InvalidResponseException, XmlParserException, InternalException {
if (!existBucket(bucketName)) {
minioClient.makeBucket(MakeBucketArgs.builder().bucket(bucketName).build());
}
}
@Override
public List<Bucket> findBucketList() {
try {
return minioClient.listBuckets();
} catch (InvalidKeyException | NoSuchAlgorithmException | ErrorResponseException | InvalidResponseException | ServerException | InsufficientDataException | XmlParserException | InternalException | IOException e) {
log.error("获取桶列表异常!", e.getMessage());
return null;
}
}
@Override
public List<Item> findObjectList(String bucketName) {
try {
createBucket(bucketName);
Iterable<Result<Item>> myObjects = minioClient.listObjects(ListObjectsArgs.builder().bucket(bucketName).build());
Iterator<Result<Item>> iterator = myObjects.iterator();
List<Item> list = new ArrayList<>();
while (iterator.hasNext()) {
list.add(iterator.next().get());
}
return list;
} catch (InvalidKeyException | NoSuchAlgorithmException | ErrorResponseException | InvalidResponseException | ServerException | InsufficientDataException | XmlParserException | InternalException | IOException e) {
log.error("获取对象列表异常!", e.getMessage());
return null;
}
}
@Override
public StatObjectResponse getObjectState(String filePath) {
return getObjectState(defaultBucketName, filePath);
}
@Override
public StatObjectResponse getObjectState(String bucketName, String filePath) {
try {
createBucket(bucketName);
return minioClient.statObject(StatObjectArgs.builder().bucket(bucketName).object(filePath).build());
} catch (MinioException | IOException | InvalidKeyException | NoSuchAlgorithmException e) {
log.error("查看文件状态异常!", e.getMessage());
return null;
}
}
@Override
public ObjectWriteResponse upload(InputStream file, String filePath) {
return upload(defaultBucketName, file, filePath);
}
@Override
public ObjectWriteResponse upload(String bucketName, InputStream file, String filePath) {
try {
createBucket(bucketName);
return minioClient.putObject(PutObjectArgs.builder().bucket(bucketName).object(filePath).stream(file, file.available(), -1).build());
} catch (MinioException | IOException | InvalidKeyException | NoSuchAlgorithmException e) {
log.error("文件上传失败!{}", e.getMessage());
return null;
}
}
@Override
public InputStream download(String filePath) {
return download(defaultBucketName, filePath);
}
@Override
public InputStream download(String bucketName, String filePath) {
try {
createBucket(bucketName);
return minioClient.getObject(GetObjectArgs.builder().bucket(bucketName).object(filePath).build());
} catch (InvalidKeyException | NoSuchAlgorithmException | ErrorResponseException | InvalidResponseException | ServerException | InsufficientDataException | XmlParserException | InternalException | IOException e) {
log.error("文件下载失败!", e.getMessage());
return null;
}
}
@Override
public boolean remove(String filePath) {
return remove(defaultBucketName, filePath);
}
@Override
public boolean remove(String bucketName, String fileName) {
try {
minioClient.removeObject(RemoveObjectArgs.builder().bucket(bucketName).object(fileName).build());
return true;
} catch (InvalidKeyException | NoSuchAlgorithmException | ErrorResponseException | InvalidResponseException | ServerException | InsufficientDataException | XmlParserException | InternalException | IOException e) {
log.error("文件删除失败!", e.getMessage());
return false;
}
}
}
# 省代码
- 北京市 11
- 天津市 12
- 河北省 13
- 山西省 14
- 内蒙古自治区 15
- 辽宁省 21
- 吉林省 22
- 黑龙江省 23
- 上海市 31
- 江苏省 32
- 浙江省 33
- 安徽省 34
- 福建省 35
- 江西省 36
- 山东省 37
- 河南省 41
- 湖北省 42
- 湖南省 43
- 广东省 44
- 广西自治区 45
- 海南省 46
- 重庆市 50
- 四川省 51
- 贵州省 52
- 云南省 53
- 西藏自治区 54
- 陕西省 61
- 甘肃省 62
- 青海省 63
- 宁夏自治区 64
- 新疆自治区 65
# 市代码
## 北京市 11
地区代码 地区名称
1000 北京市
## 天津市 12
地区代码 地区名称
1100 天津市
## 河北省 13
地区代码 地区名称
1210 石家庄市
1210 晋州市
1210 行唐县
1210 灵寿县
1210 平山县
1210 赞皇县
1210 元氏县
1210 高邑县
1210 新乐市
1210 赵县
1210 藁城市
1210 无极县
1210 深泽县
1210 辛集市
1210 鹿泉市
1210 栾城县
1210 正定县
1210 井陉县
1240 唐山市
1243 滦县
1244 滦南县
1245 乐亭县
1246 迁安市
1247 迁西县
1248 遵化市
1249 玉田县
1251 唐海县
1260 秦皇岛市
1261 青龙县
1262 昌黎县
1263 抚宁县
1264 卢龙县
1270 邯郸市
1271 邯郸县
1281 大名县
1282 魏县
1283 曲周县
1284 邱县
1285 鸡泽县
1286 肥乡县
1287 广平县
1288 成安县
1289 临漳县
1291 磁县
1292 涉县
1293 永年县
1294 馆陶县
1295 武安市
1310 邢台市
1311 邢台县
1321 南宫市
1322 沙河市
1323 临城县
1324 内邱县
1325 柏乡县
1326 隆尧县
1327 任县
1328 南和县
1329 宁晋县
1331 巨鹿县
1332 新河县
1333 广宗县
1334 平乡县
1335 威县
1336 清河县
1337 临西县
1340 保定市
1341 满城县
1342 清苑县
1351 定州市
1352 涿州市
1353 易县
1354 徐水县
1355 涞源县
1356 定兴县
1357 顺平县
1358 唐县
1359 望都县
1361 涞水县
1362 高阳县
1363 安新县
1364 雄县
1365 容城县
1366 高碑店市
1367 曲阳县
1368 阜平县
1369 安国市
1371 博野县
1372 蠡县
1380 张家口市
1381 宣化县
1391 张北县
1392 康保县
1393 沽源县
1394 尚义县
1395 蔚县
1396 阳原县
1397 怀安县
1398 万全县
1399 怀来县
1401 涿鹿县
1402 赤城县
1403 崇礼县
1410 承德市
1411 承德县
1421 宽城县
1422 兴隆县
1423 平泉县
1424 滦平县
1425 丰宁县
1426 隆化县
1427 围场县
1430 沧州市
1431 沧县
1432 青县
1441 泊头市
1442 任丘市
1443 河间市
1444 肃宁县
1445 献县
1446 吴桥县
1447 东光县
1448 南皮县
1449 盐山县
1451 黄骅市
1452 孟村县
1453 海兴县
1460 廊坊市
1461 三河市
1462 固安县
1463 永清县
1464 香河县
1465 大城县
1466 文安县
1467 霸州市
1468 大厂县
1480 衡水市
1482 冀州市
1483 枣强县
1484 武邑县
1485 深州市
1486 武强县
1487 饶阳县
1488 安平县
1489 故城县
1491 景县
1492 阜城县
## 山西省 14
地区代码 地区名称
1610 太原市
1610 古交市
1610 娄烦县
1610 阳曲县
1610 清徐县
1620 大同市
1630 阳泉市
1631 阳高县
1632 天镇县
1633 广灵县
1634 灵邱县
1635 浑源县
1636 应县
1637 左云县
1638 右玉县
1639 大同县
1640 长治市
1641 怀仁县
1651 平定县
1652 盂县
1661 长治县
1662 潞城市
1663 襄垣县
1664 屯留县
1665 平顺县
1666 黎城县
1667 壶关县
1668 长子县
1669 武乡县
1671 沁县
1672 沁源县
1680 晋城市
1681 沁水县
1682 阳城县
1683 高平市
1684 陵川县
1690 朔州市
1691 山阴县
1710 忻州市
1712 定襄县
1713 五台县
1714 原平市
1715 代县
1716 繁峙县
1717 宁武县
1718 静乐县
1719 神池县
1721 五寨县
1722 岢岚县
1723 河曲县
1724 保德县
1725 偏关县
1730 吕梁市
1731 汾阳市
1732 文水县
1733 交城县
1734 孝义市
1735 兴县
1736 临县
1737 柳林县
1738 石楼县
1739 岚县
1741 方山县
1743 中阳县
1744 交口县
1750 晋中市
1752 榆社县
1753 左权县
1754 和顺县
1755 昔阳县
1756 寿阳县
1757 太谷县
1758 祁县
1759 平遥县
1761 介休市
1762 灵石县
1770 临汾市
1772 侯马市
1773 曲沃县
1774 翼城县
1775 襄汾县
1776 洪洞县
1777 霍州市
1778 古县
1779 安泽县
1781 浮山县
1782 吉县
1783 乡宁县
1784 蒲县
1785 大宁县
1786 永和县
1787 隰县
1788 汾西县
1810 运城市
1812 永济市
1813 芮城县
1814 临猗县
1815 万荣县
1816 新绛县
1817 稷山县
1818 河津市
1819 闻喜县
1821 夏县
1822 绛县
1823 平陆县
1824 垣曲县
## 内蒙古 15
地区代码 地区名称
1910 呼和浩特市
1910 清水河县
1910 和林格尔县
1910 武川县
1910 托克托县
1910 土左旗
1920 包头市
1921 土默特右旗
1922 固阳县
1930 乌海市
1940 赤峰市
1941 阿鲁科尔沁旗
1942 巴林左旗
1943 巴林右旗
1944 林西县
1945 克什克腾
1946 翁牛特旗
1947 喀喇沁旗
1948 宁城县
1949 敖汉旗
1960 呼伦贝尔市
1962 满州里市
1963 扎兰屯市
1964 牙克石市
1965 阿荣旗
1966 莫力达瓦达斡尔族自治旗
1967 额尔古纳市
1968 根河市
1969 鄂伦春族自治旗
1971 鄂温克族自治旗
1972 新巴尔虎右旗
1973 新巴尔虎左旗
1974 陈巴尔虎旗
1980 兴安盟
1983 科尔沁右翼中旗
1984 扎赉特旗
1985 突泉县
1986 阿尔山市
1990 通辽市
1992 霍林郭勒市
1993 科尔沁左翼中旗
1994 科尔沁左翼后旗
1995 开鲁县
1996 库伦旗
1997 奈曼旗
1998 扎鲁特旗
2010 锡林郭勒盟
2011 二连浩特市
2013 阿巴嘎旗
2014 苏尼特左旗
2015 苏尼特右旗
2016 东乌珠穆沁旗
2017 西乌珠穆沁旗
2018 太仆寺旗
2019 镶黄旗
2021 正镶白旗
2022 正蓝旗
2023 多伦县
2030 乌兰察布盟
2035 卓资县
2036 化德县
2037 商都县
2038 兴和县
2039 丰镇市
2041 凉城县
2042 察哈尔右翼前旗
2043 察哈尔右翼中旗
2044 察哈尔右翼后旗
2045 达尔罕茂明安联合旗
2046 四子王旗
2050 鄂尔多斯市
2052 达拉特旗
2053 准格尔旗
2054 鄂托克前旗
2055 鄂托克旗
2056 杭锦旗
2057 乌审旗
2058 伊金霍勒旗
2070 巴彦淖尔盟
2072 五原县
2073 磴口县
2074 乌拉特前旗
2075 乌拉特中旗
2076 乌拉特后旗
2077 杭锦后旗
2080 阿拉善盟
2082 阿右旗
2083 额济纳旗
## 辽宁省 21
地区代码 地区名称
2210 沈阳市
2210 法库县
2210 康平县
2210 辽中县
2210 新民市
2220 大连市
2222 普兰店市
2223 庄河市
2224 瓦房店市
2225 长海县
2230 鞍山市
2231 台安县
2232 海城市
2240 抚顺市
2241 抚顺县
2242 新宾县
2243 喀左县
2250 本溪市
2251 本溪县
2252 桓仁县
2260 丹东市
2261 凤城市
2262 大石桥市
2263 东港市
2264 宽甸县
2265 岫岩县
2270 锦州市
2271 绥中县
2272 凌海市
2273 北宁市
2274 黑山县
2275 义县
2276 葫芦岛市
2277 兴城市
2280 营口市
2282 盖州市
2290 阜新市
2291 阜新县
2292 彰武县
2310 辽阳市
2311 辽阳县
2312 灯塔市
2320 盘锦市
2321 大洼县
2322 盘山县
2330 铁岭市
2332 西丰县
2333 昌图县
2336 调兵山市
2337 开原市
2340 朝阳市
2342 建平县
2343 凌源市
2344 清原县
2345 建昌县
2346 北票市
## 吉林省 22
地区代码 地区名称
2410 长春市
2410 九台市
2410 德惠市
2410 农安县
2410 榆树市
2420 吉林市
2421 永吉县
2423 磐石市
2424 蛟河市
2425 桦甸市
2426 舒兰市
2430 四平市
2431 梨树县
2432 伊通县
2433 双辽市
2434 公主岭市
2440 辽源市
2441 东丰县
2442 东辽县
2450 通化市
2451 通化县
2452 辉南县
2453 柳河县
2454 梅河口市
2455 集安市
2460 白山市
2461 抚松县
2462 靖宇县
2463 长白县
2464 江源县
2422 临江市
2470 白城市
2472 洮南市
2474 大安市
2477 镇赉县
2478 通榆县
2520 松原市
2473 扶余县
2475 长岭县
2476 前郭县
2479 乾安县
2490 延吉市
2492 图们市
2493 敦化市
2494 珲春市
2495 龙井市
2496 和龙市
2497 汪清县
2498 安图县
## 黑龙江省 23
地区代码 地区名称
2610 哈尔滨市
2610 依兰县
2610 延寿县
2610 方正县
2610 通河县
2610 木兰县
2610 巴彦县
2610 五常市
2610 宾县
2610 尚志市
2610 双城市
2610 阿城市
2610 呼兰县
2640 齐齐哈尔市
2641 龙江县
2642 讷河市
2643 依安县
2644 泰来县
2645 甘南县
2646 杜蒙县
2647 富裕县
2648 林甸县
2649 克山县
2650 大庆市
2651 克东县
2652 拜泉县
2660 鸡西市
2661 鸡东县
2670 鹤岗市
2671 萝北县
2672 绥滨县
2680 双鸭山市
2681 集贤县
2690 佳木斯市
2710 伊春市
2711 嘉荫县
2712 铁力市
2720 牡丹江市
2721 桦南县
2723 桦川县
2724 宝清县
2725 汤原县
2726 饶河县
2727 抚远县
2728 友谊县
2729 同江市
2731 富锦市
2740 七台河市
2741 勃利县
2751 宁安市
2752 海林市
2753 穆棱市
2754 东宁县
2755 林口县
2756 虎林市
2757 绥芬河市
2758 密山市
2760 绥化市
2762 安达市
2763 肇东市
2764 海伦市
2765 望奎县
2766 兰西县
2767 青冈县
2768 肇源县
2769 肇州县
2771 庆安县
2772 明水县
2773 绥棱县
2780 黑河市
2782 北安市
2783 五大连池市
2784 嫩江县
2786 逊克县
2787 孙吴县
2790 大兴安岭地区
2791 呼玛县
2792 塔河县
2793 漠河县
## 上海市 31
地区代码 地区名称
2900 上海市
## 江苏省 32
地区代码 地区名称
3010 南京市
3010 高淳县
3010 溧水县
3020 无锡市
3022 江阴市
3023 宜兴市
3030 徐州市
3031 丰县
3032 沛县
3033 铜山县
3034 睢宁县
3035 邳州市
3036 新沂市
3040 常州市
3042 金坛市
3043 溧阳市
3050 苏州市
3051 太仓市
3052 昆山市
3054 吴江市
3055 常熟市
3056 张家港市
3060 南通市
3061 海安县
3062 如皋市
3063 如东县
3065 海门市
3066 启东市
3070 连云港市
3071 赣榆县
3072 东海县
3073 灌云县
3080 淮安市
3082 灌南县
3083 沭阳县
3084 通州市
3085 涟水县
3086 泗洪县
3087 洪泽县
3088 盱眙县
3089 金湖县
3090 宿迁市
3093 泗阳县
3094 宿豫县
3110 盐城市
3111 响水县
3112 滨海县
3113 阜宁县
3114 射阳县
3115 建湖县
3116 大丰市
3117 东台市
3118 盐都县
3120 扬州市
3121 高邮市
3122 宝应县
3123 靖江市
3124 泰兴市
3125 江都市
3128 泰州市
3129 仪征市
3131 兴化市
3132 姜堰市
3140 镇江市
3141 丹阳市
3142 句容市
3143 扬中市
## 浙江省 33
地区代码 地区名称
3310 杭州市
3310 淳安县
3310 建德市
3310 临安市
3310 富阳市
3310 桐庐县
3320 宁波市
3321 象山县
3322 宁海县
3324 余姚市
3325 慈溪市
3326 奉化市
3330 温州市
3332 洞头县
3333 乐清市
3334 永嘉县
3335 平阳县
3336 苍南县
3337 文成县
3338 泰顺县
3339 瑞安市
3350 嘉兴市
3351 嘉善县
3352 平湖市
3353 海盐县
3354 桐乡市
3355 海宁市
3360 湖州市
3361 德清县
3362 长兴县
3363 安吉县
3370 绍兴市
3371 绍兴县
3372 上虞市
3373 嵊州市
3374 新昌县
3375 诸暨市
3380 金华市
3382 永康市
3383 武义县
3384 浦江县
3385 磐安县
3386 兰溪市
3387 义乌市
3388 东阳市
3410 衢州市
3412 常山县
3413 开化县
3414 龙游县
3415 江山市
3420 舟山市
3421 岱山县
3422 嵊泗县
3430 丽水市
3432 青田县
3433 云和县
3434 庆元县
3435 缙云县
3436 遂昌县
3437 松阳县
3438 景宁县
3439 龙泉市
3450 台州市
3452 临海市
3454 温岭市
3455 仙居县
3456 天台县
3457 三门县
3458 玉环县
## 安徽省 34
地区代码 地区名称
3610 合肥市
3610 长丰县
3610 肥西县
3610 肥东县
3620 芜湖市
3621 芜湖县
3622 繁昌县
3623 南陵县
3630 蚌埠市
3631 怀远县
3632 五河县
3633 固镇县
3640 淮南市
3641 凤台县
3650 马鞍山市
3651 当涂县
3660 淮北市
3661 濉溪县
3670 铜陵市
3671 铜陵县
3680 安庆市
3681 桐城市
3682 怀宁县
3683 枞阳县
3684 潜山县
3685 太湖县
3686 宿松县
3687 望江县
3688 岳西县
3710 黄山市
3711 歙县
3712 休宁县
3713 黟县
3714 祁门县
3720 阜阳市
3722 亳州市
3724 临泉县
3725 太和县
3726 涡阳县
3727 蒙城县
3728 阜南县
3729 颍上县
3731 界首市
3732 利辛县
3740 宿州市
3742 砀山县
3743 萧县
3745 灵璧县
3746 泗县
3750 滁州市
3752 天长市
3753 来安县
3754 全椒县
3755 定远县
3756 凤阳县
3757 明光市
3760 六安市
3763 寿县
3764 霍邱县
3765 舒城县
3766 金寨县
3767 霍山县
3771 宣城市
3772 郎溪县
3773 广德县
3774 宁国市
3775 泾县
3776 旌德县
3777 绩溪县
3781 巢湖市
3782 庐江县
3783 无为县
3784 含山县
3785 和县
3790 池州市
3792 东至县
3793 石台县
3794 青阳县
## 福建省 35
地区代码 地区名称
3910 福州市
3910 平潭县
3910 福清市
3910 长乐市
3910 永泰县
3910 闽清县
3910 罗源县
3910 连江县
3910 闽侯县
3930 厦门市
3940 莆田市
3942 仙游县
3950 三明市
3951 明溪县
3952 清流县
3953 宁化县
3954 大田县
3955 尤溪县
3956 沙县
3957 将乐县
3958 泰宁县
3959 建宁县
3960 永安市
3970 泉州市
3971 惠安县
3972 晋江市
3973 南安市
3974 安溪县
3975 永春县
3976 德化县
3978 石狮市
3990 漳州市
3991 龙海市
3992 云霄县
3993 漳浦县
3994 诏安县
3995 长泰县
3996 东山县
3997 南靖县
3998 平和县
3999 华安县
4010 南平市
4012 邵武市
4013 顺昌县
4014 建阳市
4015 建瓯市
4016 浦城县
4018 光泽县
4019 松溪县
4021 政和县
4022 武夷山市
4030 宁德市
4032 福鼎市
4033 霞浦县
4034 福安市
4035 古田县
4036 屏南县
4037 寿宁县
4038 周宁县
4039 柘荣县
4050 龙岩市
4052 长汀县
4053 永定县
4054 上杭县
4055 武平县
4056 漳平市
4057 连城县
## 江西省 36
地区代码 地区名称
4210 南昌市
4210 湾里
4210 进贤县
4210 安义县
4210 新建县
4210 南昌县
4220 景德镇市
4221 乐平市
4222 浮梁县
4230 萍乡市
4231 上栗县
4232 芦溪县
4240 九江市
4240 庐山
4241 九江县
4242 瑞昌市
4243 武宁县
4244 修水县
4245 永修县
4246 德安县
4247 星子县
4248 都昌县
4249 湖口县
4251 彭泽县
4260 新余市
4261 分宜县
4270 鹰潭市
4271 贵溪市
4272 余江县
4280 赣州市
4282 赣县
4283 南康市
4284 信丰县
4285 大余县
4286 上犹县
4287 崇义县
4288 安远县
4289 龙南县
4291 定南县
4292 全南县
4293 宁都县
4294 于都县
4295 兴国县
4296 瑞金市
4297 会昌县
4298 寻乌县
4299 石城县
4310 宜春市
4312 丰城市
4313 樟树市
4314 高安市
4315 奉新县
4316 万载县
4317 上高县
4318 宜丰县
4319 靖安县
4321 铜鼓县
4330 上饶市
4332 上饶县
4333 广丰县
4334 玉山县
4335 铅山县
4336 横峰县
4337 弋阳县
4338 余干县
4339 鄱阳县
4341 万年县
4342 德兴市
4343 婺源县
4350 吉安市
4352 井冈山市
4353 吉安县
4354 吉水县
4355 峡江县
4356 新干县
4357 永丰县
4358 泰和县
4359 遂川县
4361 万安县
4362 安福县
4363 永新县
4364 莲花县
4370 抚州市
4372 南城县
4373 黎川县
4374 南丰县
4375 崇仁县
4376 乐安县
4377 宜黄县
4378 金溪县
4379 资溪县
4381 东乡县
4382 广昌县
## 山东省 37
地区代码 地区名称
4510 济南市
4510 商河县
4510 济阳县
4510 平阴县
4510 章丘市
4520 青岛市
4521 即墨市
4522 胶南市
4523 莱西市
4524 平度市
4525 胶州市
4530 淄博市
4531 桓台县
4535 高青县
4536 沂源县
4540 枣庄市
4541 滕州市
4550 东营市
4551 垦利县
4552 利津县
4553 广饶县
4560 烟台市
4561 蓬莱市
4562 招远市
4563 栖霞市
4564 海阳市
4566 长岛县
4567 龙口市
4568 莱阳市
4569 莱州市
4580 潍坊市
4581 安丘市
4582 寿光市
4583 临朐县
4584 昌乐县
4585 昌邑市
4586 高密市
4587 五莲县
4588 青州市
4589 诸城市
4610 济宁市
4611 衮州市
4612 邹城市
4613 微山县
4614 鱼台县
4615 金乡县
4616 嘉祥县
4617 汶上县
4618 泗水县
4619 曲阜市
4630 泰安市
4631 宁阳县
4632 肥城市
4633 东平县
4634 莱芜市
4635 新泰市
4650 威海市
4651 乳山市
4652 文登市
4653 荣成市
4660 滨州市
4662 惠民县
4663 阳信县
4664 无棣县
4665 沾化县
4666 博兴县
4667 邹平县
4680 德州市
4682 乐陵市
4683 陵县
4684 平原县
4685 夏津县
4686 武城县
4687 齐河县
4688 禹城市
4689 临邑县
4693 宁津县
4694 庆云县
4710 聊城市
4712 临清市
4713 阳谷县
4714 莘县
4715 茌平县
4716 东阿县
4717 冠县
4718 高唐县
4730 临沂市
4732 日照市
4733 郯城县
4734 苍山县
4735 莒南县
4736 莒县
4737 沂水县
4739 蒙阴县
4741 平邑县
4742 费县
4743 沂南县
4744 临沭县
4750 菏泽市
4752 曹县
4753 定陶县
4754 成武县
4755 单县
4756 巨野县
4757 梁山县
4758 郓城县
4759 鄄城县
4761 东明县
## 河南省 41
地区代码 地区名称
4910 郑州市
4910 济源市
4910 新密市
4910 登封市
4910 巩义市
4910 新郑市
4910 中牟县
4910 荥阳市
4920 开封市
4921 杞县
4922 通许县
4923 尉氏县
4924 开封县
4925 兰考县
4930 洛阳市
4931 偃师市
4932 孟津县
4933 新安县
4934 栾川县
4935 嵩县
4936 汝阳县
4937 宜阳县
4938 洛宁县
4939 伊川县
4950 平顶山市
4951 宝丰县
4952 叶县
4953 鲁山县
4954 郏县
4955 襄城县
4956 汝州市
4960 安阳市
4961 林州市
4962 安阳县
4963 汤阴县
4964 滑县
4965 内黄县
4970 鹤壁市
4971 浚县
4972 淇县
4980 新乡市
4981 新乡县
4982 获嘉县
4983 原阳县
4984 延津县
4985 封丘县
4986 长垣县
4987 卫辉市
4988 辉县市
5010 焦作市
5011 修武县
5012 博爱县
5013 武陟县
5014 沁阳市
5015 温县
5016 孟州市
5020 濮阳市
5021 清丰县
5022 南乐县
5023 范县
5024 台前县
5025 濮阳县
5030 许昌市
5031 长葛市
5032 许昌县
5033 鄢陵县
5034 禹州市
5040 漯河市
5041 舞阳县
5042 临颍县
5043 郾城县
5044 舞钢市
5050 三门峡市
5051 渑池县
5052 陕县
5053 灵宝市
5054 卢氏县
5055 义马市
5060 商丘市
5062 虞城县
5064 民权县
5065 宁陵县
5066 睢县
5067 夏邑县
5068 柘城县
5069 永城市
5080 周口市
5082 扶沟县
5083 西华县
5084 商水县
5085 太康县
5086 鹿邑县
5087 郸城县
5088 淮阳县
5089 沈丘县
5091 项城市
5110 驻马店市
5112 确山县
5113 泌阳县
5114 遂平县
5115 西平县
5116 上蔡县
5117 汝南县
5118 平舆县
5119 新蔡县
5121 正阳县
5130 南阳市
5132 邓州市
5133 南召县
5134 方城县
5135 西峡县
5137 镇平县
5138 内乡县
5139 淅川县
5141 社旗县
5142 唐河县
5143 新野县
5144 桐柏县
5150 信阳市
5152 息县
5153 淮滨县
5155 潢川县
5156 光山县
5157 固始县
5158 商城县
5159 罗山县
5161 新县
## 湖北省 42
地区代码 地区名称
5210 武汉市
5220 黄石市
5221 大冶市
5230 十堰市
5260 宜昌市
5261 宜都市
5262 当阳市
5263 宜昌县
5264 枝江市
5265 远安县
5266 兴山县
5267 秭归县
5268 长阳县
5269 五峰县
5280 襄樊市
5282 宜城县
5283 南漳县
5284 谷城县
5285 保康县
5286 随州市
5287 老河口市
5288 枣阳市
5310 鄂州市
5311 神农架林区
5320 荆门市
5330 黄冈市
5331 麻城市
5332 武穴市
5333 团风县
5334 红安县
5335 罗田县
5336 英山县
5337 浠水县
5338 蕲春县
5339 黄梅县
5350 孝感市
5351 孝昌县
5352 应城市
5353 安陆市
5354 广水市
5355 大悟县
5356 云梦县
5357 汉川县
5360 咸宁市
5362 赤壁市
5363 嘉鱼县
5364 通城县
5365 崇阳县
5366 通山县
5367 阳新县
5370 荆州市
5371 仙桃市
5372 石首市
5373 洪湖市
5374 天门市
5375 潜江市
5377 松滋市
5378 公安县
5379 监利县
5381 钟祥市
5382 京山县
5383 沙洋县
5391 丹江口市
5392 郧县
5393 郧西县
5394 竹山县
5395 竹溪县
5396 房县
5410 恩施州
5412 利川市
5413 建始县
5414 巴东县
5415 宣恩县
5416 咸丰县
5417 来凤县
5418 鹤峰县
## 湖南省 43
地区代码 地区名称
5510 长沙市
5510 宁乡县
5510 浏阳市
5510 望城县
5520 株州市
5521 株洲县
5522 攸县
5523 茶陵县
5525 醴陵市
5526 炎陵县
5530 湘潭市
5532 湘乡市
5533 韶山市
5540 衡阳市
5541 衡阳县
5542 衡南县
5543 衡山县
5544 衡东县
5545 常宁市
5546 祁东县
5547 耒阳市
5550 邵阳市
5551 邵东县
5552 新邵县
5553 邵阳县
5554 隆回县
5555 洞口县
5556 武冈市
5557 绥宁县
5558 新宁县
5559 城步县
5570 岳阳市
5571 岳阳县
5572 临湘市
5573 华容县
5574 湘阴县
5575 平江县
5576 汩罗市
5580 常德市
5581 安乡县
5582 汉寿县
5583 澧县
5584 临澧县
5585 桃源县
5586 石门县
5587 津市市
5590 张家界市
5591 慈利县
5592 桑植县
5610 益阳市
5612 沅江市
5614 南县
5615 桃江县
5616 安化县
5620 娄底市
5622 冷水江市
5623 涟源市
5624 双峰县
5625 新化县
5630 郴州市
5632 资兴市
5634 桂阳县
5635 永兴县
5636 宜章县
5637 嘉禾县
5638 临武县
5639 汝城县
5641 桂东县
5642 安仁县
5650 永州市
5653 东安县
5654 道县
5655 宁远县
5656 江永县
5657 江华县
5658 蓝山县
5659 新田县
5661 双牌县
5662 祁阳县
5670 怀化市
5672 洪江市
5674 沅陵县
5675 辰溪县
5676 溆浦县
5677 麻阳县
5678 新晃县
5679 芷江县
5681 会同县
5682 靖州县
5683 通道县
5690 吉首市
5692 泸溪县
5693 凤凰县
5694 花垣县
5695 保靖县
5696 古丈县
5697 永顺县
5698 龙山县
## 广东省 44
地区代码 地区名称
5810 广州市
5810 增城市
5810 从化市
5820 韶关市
5820 曲江县
5822 始兴县
5823 南雄市
5824 仁化县
5825 乐昌市
5826 翁源县
5827 乳源县
5828 新丰县
5840 深圳市
5850 珠海市
5860 汕头市
5860 澄海市
5862 饶平县
5863 南澳县
5860 潮阳市
5865 揭阳市
5866 揭西县
5867 普宁市
5868 惠来县
5869 潮州市
5871 揭东县
5872 潮安营业部
5880 佛山市
5890 江门市
5892 台山市
5893 恩平市
5894 开平市
5895 鹤山市
5910 湛江市
5911 吴川市
5912 廉江市
5913 遂溪县
5914 雷州市
5915 徐闻县
5920 茂名市
5921 信宜市
5922 高州市
5923 电白县
5924 化州市
5930 肇庆市
5931 高要市
5932 四会市
5933 广宁县
5934 怀集县
5935 封开县
5936 德庆县
5937 云浮市
5938 新兴县
5939 郁南县
5941 罗定市
5950 惠州市
5952 博罗县
5953 惠东县
5954 龙门县
5956 大亚湾营业部
5960 梅州市
5962 大埔县
5963 丰顺县
5964 五华县
5965 兴宁市
5966 平远县
5967 蕉岭县
5970 汕尾市
5971 海丰县
5972 陆丰市
5973 陆河县
5980 河源市
5981 紫金县
5982 龙川县
5983 连平县
5984 和平县
5985 东源县
5990 阳江市
5991 阳西县
5992 阳春市
5993 阳东县
6010 清远市
6011 佛冈县
6012 英德市
6013 阳山县
6014 连州市
6015 连山县
6016 连南县
6017 清新县
6020 东莞市
6030 中山市
## 广西自治区 45
地区代码 地区名称
6110 南宁市
6110 马山县
6110 隆安县
6110 上林县
6110 宾阳县
6110 横县
6110 武鸣县
6121 凭祥市
6127 扶绥县
6128 崇左市
6129 大新县
6131 天等县
6132 宁明县
6133 龙州县
6140 柳州市
6141 柳江县
6142 柳城县
6151 合山市
6152 鹿寨县
6153 象州县
6154 武宣县
6155 来宾市
6156 融安县
6157 三江县
6158 融水县
6159 金秀县
6161 忻城县
6170 桂林市
6171 阳朔县
6172 临桂县
6181 灵川县
6182 全州县
6183 兴安县
6184 永福县
6185 灌阳县
6186 龙胜县
6187 资源县
6188 平乐县
6189 荔浦县
6191 恭城县
6210 梧州市
6211 苍梧县
6221 岑溪市
6222 藤县
6223 昭平县
6224 蒙山县
6225 贺州市
6226 钟山县
6227 富川县
6230 北海市
6231 合浦县
6240 玉林市
6242 贵港市
6243 桂平市
6244 平南县
6245 容县
6246 北流市
6247 陆川县
6248 博白县
6249 兴业县
6261 百色市
6262 田阳县
6263 田东县
6264 平果县
6266 靖西县
6267 那坡县
6268 凌云县
6269 乐业县
6271 田林县
6272 隆林县
6273 西林县
6275 德保县
6281 河池市
6282 宜州市
6283 罗城县
6284 环江县
6285 南丹县
6286 天峨县
6287 凤山县
6288 东兰县
6289 巴马县
6291 都安县
6292 大化县
6311 钦州市
6312 上思县
6314 灵山县
6315 浦北县
6330 防城港市
6331 东兴市
## 海南省 46
地区代码 地区名称
6410 海口市
6410 琼中县
6410 保亭县
6410 陵水县
6410 乐东县
6410 东方市
6410 昌江县
6410 白沙县
6410 儋州市
6410 临高县
6410 澄迈县
6410 屯昌县
6410 定安县
6410 万宁市
6410 琼海市
6410 文昌市
6410 琼山市
6410 五指山市
6420 三亚市
## 重庆市 50
地区代码 地区名称
6530 合川市
6530 江津市
6530 万盛区
6530 綦江县
6530 巴南区
6530 渝北区
6530 长寿区
6530 重庆市
6530 璧山县
6530 荣昌县
6530 双桥区
6530 大足县
6530 永川市
6530 铜梁县
6530 潼南县
6670 万州区
6673 开县
6674 忠县
6675 梁平县
6676 云阳县
6677 奉节县
6678 巫山县
6679 巫溪县
6681 城口县
6690 涪陵区
6692 垫江县
6693 南川市
6694 丰都县
6695 武隆县
6870 黔江区
6871 石柱县
6872 秀山县
6874 酉阳县
6875 彭水
## 四川省 51
地区代码 地区名称
6510 邛崃市
6510 大邑县
6510 崇州市
6510 彭州市
6510 郫县
6510 双流县
6510 金堂县
6510 成都市
6510 都江堰市
6510 新津县
6510 蒲江县
6510 温江区
6510 新都区
6550 自贡市
6551 荣县
6552 富顺县
6560 攀枝花市
6561 米易县
6562 盐边县
6570 泸州市
6571 泸县
6572 合江县
6573 纳溪区
6574 叙永县
6575 古蔺县
6580 德阳市
6581 绵竹市
6582 中江县
6583 什邡市
6584 广汉市
6585 罗江县
6590 绵阳市
6591 三台县
6592 盐亭县
6593 安县
6594 梓潼县
6595 北川县
6596 平武县
6597 江油市
6610 广元市
6611 旺苍县
6612 青川县
6613 剑阁县
6614 苍溪县
6620 遂宁市
6621 蓬溪县
6622 射洪县
6623 大英县
6630 内江市
6632 乐至县
6633 安岳县
6634 威远县
6635 资中县
6636 资阳市
6637 简阳市
6638 隆昌县
6650 乐山市
6651 仁寿县
6652 眉山市
6653 犍为县
6654 井研县
6655 夹江县
6656 洪雅县
6657 彭山县
6658 沐川县
6659 青神县
6662 峨边县
6663 马边县
6664 峨眉山市
6665 丹棱县
6710 宜宾市
6712 宜宾县
6713 南溪县
6714 江安县
6715 长宁县
6716 高县
6717 筠连县
6718 珙县
6719 兴文县
6721 屏山县
6730 南充市
6732 华蓥市
6734 南部县
6735 岳池县
6736 营山县
6737 广安市
6738 蓬安县
6739 仪陇县
6741 武胜县
6742 西充县
6743 阆中市
6750 达州市
6752 达县
6753 宣汉县
6754 开江县
6755 万源市
6756 通江县
6757 南江县
6758 巴中市
6759 平昌县
6761 大竹县
6762 渠县
6763 邻水县
6770 雅安市
6772 名山县
6773 荥经县
6774 汉源县
6775 石棉县
6776 天全县
6777 芦山县
6778 宝兴县
6790 马尔康县
6791 汶川县
6792 理县
6793 茂县
6794 松潘县
6795 九寨沟县
6797 小金县
6798 黑水县
6801 壤塘县
6802 阿坝县
6803 若尔盖县
6804 红原县
6805 金川县
6810 康定县
6812 泸定县
6813 丹巴县
6814 九龙县
6815 雅江县
6816 道孚县
6817 炉霍县
6818 甘孜县
6819 新龙县
6821 德格县
6822 白玉县
6823 石渠县
6824 色达县
6825 理塘县
6826 巴塘县
6827 乡城县
6828 稻城县
6829 得荣县
6840 西昌市
6842 木里县
6843 盐源县
6845 会理县
6846 会东县
6847 宁南县
6848 普格县
6849 布拖县
6851 金阳县
6852 昭觉县
6853 喜德县
6854 冕宁县
6855 越西县
6856 甘洛县
6857 美姑县
6858 雷波县
6859 德昌县
## 贵州省 52
地区代码 地区名称
7010 贵阳市
7010 清镇市
7010 修文县
7010 息烽县
7010 开阳县
7020 六盘水市
7021 六枝特区
7022 盘县
7030 遵义市
7032 遵义县
7033 桐梓县
7034 绥阳县
7035 正安县
7036 道真县
7037 务川县
7038 凤冈县
7039 湄潭县
7041 余庆县
7042 仁怀市
7043 赤水市
7044 习水县
7050 铜仁市
7052 江口县
7053 玉屏县
7054 石阡县
7055 思南县
7056 印江县
7057 德江县
7058 沿河县
7059 松桃县
7061 万山特区
7070 兴义市
7072 兴仁县
7073 普安县
7074 晴隆县
7075 贞丰县
7076 望漠县
7077 册亨县
7078 安龙县
7090 毕节市
7092 大方县
7093 黔西县
7094 金沙县
7095 织金县
7096 纳雍县
7097 威宁县
7098 赫章县
7110 安顺市
7117 平坝县
7118 普定县
7119 关岭县
7121 镇宁县
7122 紫云县
7130 凯里市
7132 黄平县
7133 施秉县
7134 三穗县
7135 镇远县
7136 岑巩县
7137 天柱县
7138 锦屏县
7139 剑河县
7141 台江县
7142 黎平县
7143 榕江县
7144 从江县
7145 雷山县
7146 麻江县
7147 丹寨县
7150 都匀市
7152 荔波县
7153 贵定县
7154 福泉市
7155 瓮安县
7156 独山县
7157 平塘县
7158 罗甸县
7159 长顺县
7161 龙里县
7162 惠水县
7163 三都县
## 云南省 53
地区代码 地区名称
7310 昆明市
7310 寻甸县
7310 禄劝县
7310 嵩明县
7310 石林县
7310 宜良县
7310 富民县
7310 安宁市
7310 晋宁县
7310 呈贡县
7340 昭通市
7342 鲁甸县
7343 巧家县
7344 盐津县
7345 大关县
7346 永善县
7347 绥江县
7348 镇雄县
7349 彝良县
7351 威信县
7352 水富县
7360 曲靖市
7362 马龙县
7363 宣威市
7364 富源县
7365 罗平县
7366 师宗县
7367 陆良县
7369 会泽县
7371 沾益县
7380 楚雄市
7382 双柏县
7383 牟定县
7384 南华县
7385 姚安县
7386 大姚县
7387 永仁县
7388 元谋县
7389 武定县
7391 禄丰县
7410 玉溪市
7412 江川县
7413 澄江县
7414 通海县
7415 华宁县
7416 易门县
7417 峨山县
7418 新平县
7419 元江县
7430 个旧市
7432 开远市
7433 蒙自县
7434 屏边县
7435 建水县
7436 石屏县
7437 弥勒县
7438 泸西县
7439 元阳县
7441 红河县
7442 金平县
7443 绿春县
7444 河口县
7450 文山县
7452 砚山县
7453 西畴县
7454 麻栗坡县
7455 马关县
7456 邱北县
7457 广南县
7458 富宁县
7470 思茅市
7472 普洱县
7473 墨江县
7474 景东县
7475 景谷县
7476 镇沅县
7477 江城县
7478 孟连县
7479 澜沧县
7481 西盟县
7490 景洪市
7492 勐海县
7493 勐腊县
7510 大理市
7512 漾濞县
7513 祥云县
7514 宾川县
7515 弥渡县
7516 南涧县
7517 巍山县
7518 永平县
7519 云龙县
7521 洱源县
7522 剑川县
7523 鹤庆县
7530 保山市
7532 施甸县
7533 腾冲县
7534 龙陵县
7535 昌宁县
7540 潞西市
7543 梁河县
7544 盈江县
7545 陇川县
7546 瑞丽市
7550 丽江市
7552 永胜县
7553 华坪县
7554 宁蒗县
7560 泸水县
7562 福贡县
7563 贡山县
7564 兰坪县
7570 香格里拉县
7572 德钦县
7573 维西县
7580 临沧市
7582 凤庆县
7583 云县
7584 永德县
7585 镇康县
7586 双江县
7587 耿马县
7588 沧源县
## 西藏自治区 54
地区代码 地区名称
7700 拉萨市
7700 墨竹工卡县
7700 达孜县
7700 堆龙德庆县
7700 曲水县
7700 尼木县
7700 当雄县
7700 林周县
7720 昌都县
7721 江达县
7722 贡觉县
7723 类乌齐县
7724 丁青县
7725 察雅县
7726 八宿县
7727 左贡县
7728 芒康县
7729 洛隆县
7730 边坝县
7740 乃东县
7741 扎囊县
7742 贡嘎县
7743 桑日县
7744 琼结县
7745 曲松县
7746 措美县
7747 洛扎县
7748 加查县
7749 隆子县
7750 错那县
7751 浪卡子县
7760 日喀则市
7761 南木林县
7762 江孜县
7763 定日县
7764 萨迦县
7765 拉孜县
7766 昂仁县
7767 谢通门县
7768 白朗县
7769 仁布县
7770 康马县
7771 定结县
7772 仲巴县
7773 亚东县
7774 吉隆县
7775 聂拉木县
7776 萨嘎县
7777 岗巴县
7711 樟木口岸镇
7790 那曲县
7791 嘉黎县
7792 比如县
7793 聂荣县
7794 安多县
7795 申扎县
7796 索县
7797 班戈县
7798 巴青县
7799 尼玛县
7800 双湖特别行政区
7811 普兰县
7812 札达县
7810 噶尔县
7813 日土县
7814 革吉县
7815 改则县
7816 措勤县
7830 林芝县
7831 工布江达县
7832 米林县
7833 墨脱县
7834 波密县
7835 察隅县
7836 朗县
## 陕西省 61
地区代码 地区名称
7910 西安市
7910 高陵县
7910 户县
7910 周至县
7910 蓝田县
7920 铜川市
7921 耀县
7922 宜君县
7930 宝鸡市
7932 凤翔县
7933 岐山县
7934 扶风县
7935 眉县
7936 陇县
7937 千阳县
7938 麟游县
7939 凤县
7941 太白县
7950 咸阳市
7951 兴平市
7952 三原县
7953 泾阳县
7954 乾县
7955 礼泉县
7956 永寿县
7957 彬县
7958 长武县
7959 旬邑县
7961 淳化县
7962 武功县
7970 渭南市
7972 韩城市
7973 华县
7974 华阴市
7975 潼关县
7976 大荔县
7977 蒲城县
7978 澄城县
7979 白水县
7981 合阳县
7982 富平县
7990 汉中市
7992 南郑县
7993 城固县
7994 洋县
7995 西乡县
7996 勉县
7997 宁强县
7998 略阳县
7999 镇巴县
8001 留坝县
8002 佛坪县
8010 安康市
8012 汉阴县
8013 石泉县
8014 宁陕县
8015 紫阳县
8016 岚皋县
8017 平利县
8018 镇坪县
8019 旬阳县
8021 白河县
8030 商洛市
8032 洛南县
8033 丹凤县
8034 商南县
8035 山阳县
8036 镇安县
8037 柞水县
8040 延安市
8042 延长县
8043 延川县
8044 子长县
8045 安塞县
8046 志丹县
8047 吴旗县
8048 甘泉县
8049 富县
8051 洛川县
8052 宜川县
8053 黄龙县
8054 黄陵县
8060 榆林市
8062 神木县
8063 府谷县
8064 横山县
8065 靖边县
8066 定边县
8067 绥德县
8068 米脂县
8069 佳县
8071 吴堡县
8072 清涧县
8073 子洲县
## 甘肃省 62
地区代码 地区名称
8210 兰州市
8210 榆中县
8210 皋兰县
8210 永登县
8210 红古区
8220 嘉峪关市
8230 金昌市
8231 永昌县
8240 白银市
8241 靖远县
8242 会宁县
8243 景泰县
8244 平川区
8250 天水市
8251 清水县
8252 秦安县
8253 甘谷县
8254 武山县
8255 张家川县
8260 酒泉市
8261 玉门市
8263 敦煌市
8264 金塔县
8265 肃北县
8266 阿克塞县
8267 安西县
8270 张掖市
8272 肃南县
8273 民乐县
8274 临泽县
8275 高台县
8276 山丹县
8280 武威市
8282 民勤县
8283 古浪县
8284 天祝县
8290 定西市
8292 通渭县
8293 陇西县
8294 渭源县
8295 临洮县
8296 漳县
8297 岷县
8310 陇南市
8312 宕昌县
8313 成县
8314 康县
8315 文县
8316 西和县
8317 礼县
8318 两当县
8319 徽县
8330 平凉市
8332 泾川县
8333 灵台县
8334 崇信县
8335 华亭县
8336 庄浪县
8337 静宁县
8340 庆阳市
8342 庆城县
8343 环县
8344 华池县
8345 合水县
8346 正宁县
8347 宁县
8348 镇原县
8360 临夏州
8363 康乐县
8364 永靖县
8365 广河县
8366 和政县
8367 东乡县
8368 积石山县
8380 甘南州
8381 临潭县
8382 卓尼县
8383 舟曲县
8384 迭部县
8385 玛曲县
8386 碌曲县
8387 夏河县
## 青海省 63
地区代码 地区名称
8510 西宁市
8510 湟源县
8510 湟中县
8510 大通回族土族自治县
8520 海东地区
8521 平安县
8522 民和回族土族自治县
8523 乐都县
8526 互助土族自治县
8527 化隆回族自治县
8528 循化撒拉族自治县
8540 海北藏族自治州
8541 门源回族自治县
8542 祁连县
8543 海晏县
8544 刚察县
8550 黄南藏族自治州
8551 同仁县
8552 尖扎县
8553 泽库县
8554 河南蒙古族自治县
8560 海南藏族自治州
8561 共和县
8562 同德县
8563 贵德县
8564 兴海县
8565 贵南县
8570 果洛藏族自治州
8571 玛沁县
8572 班玛县
8573 甘德县
8574 达日县
8575 久治县
8576 玛多县
8580 玉树藏族自治州
8581 玉树县
8582 杂多县
8583 称多县
8584 治多县
8585 囊谦县
8586 曲麻莱县
8590 海西蒙古族藏族自治州
8591 格尔木市
8592 德令哈市
8593 乌兰县
8594 都兰县
8595 天峻县
## 宁夏自治区 64
地区代码 地区名称
8710 银川市
8710 灵武市
8710 贺兰县
8710 永宁县
8720 石嘴山市
8721 平罗县
8731 吴忠市
8732 青铜峡市
8733 中卫市
8734 中宁县
8736 盐池县
8737 同心县
8741 固原市
8742 海原县
8743 西吉县
8744 隆德县
8745 泾源县
8746 彭阳县
## 新疆自治区 65
地区代码 地区名称
8810 乌鲁木齐市
8810 乌鲁木齐县
8820 克拉玛依市
8830 吐鲁番市
8832 鄯善县
8833 托克逊县
8840 哈密市
8842 巴里坤哈萨克自治县
8843 伊吾县
8844 北屯镇
8850 昌吉市
8852 米泉市
8853 呼图壁县
8854 玛纳斯县
8855 奇台县
8856 阜康市
8857 吉木萨尔县
8858 五家渠市
8859 木垒哈萨克自治县
8870 博乐市
8872 精河县
8873 温泉县
8880 库尔勒市
8882 轮台县
8883 尉犁县
8884 若羌县
8885 且末县
8886 焉耆回族自治县
8887 和静县
8888 和硕县
8889 博湖县
8910 阿克苏市
8912 温宿县
8913 库车县
8914 沙雅县
8915 新和县
8916 拜城县
8917 乌什县
8918 阿瓦提县
8919 柯坪县
8930 阿图什市
8932 阿克陶县
8933 阿合奇县
8934 乌恰县
8940 喀什市
8942 疏附县
8943 疏勒县
8944 英吉沙县
8945 泽普县
8946 莎车县
8947 叶城县
8948 麦盖提县
8949 岳普湖县
8951 伽师县
8952 巴楚县
8953 塔什库尔干塔吉克自治县
8960 和田市
8963 墨玉县
8964 皮山县
8965 洛浦县
8966 策勒县
8967 于田县
8968 民丰县
8980 伊宁市
8981 奎屯市
8992 伊宁县
8993 察布查尔锡伯自治县
8994 霍城县
8995 巩留县
8996 新源县
8997 昭苏县
8998 特克斯县
8999 尼勒克县
9010 塔城市
9012 额敏县
9013 乌苏市
9014 沙湾县
9015 托里县
9016 裕民县
9017 和布克赛尔蒙古自治县
9020 阿勒泰市
9022 布尔津县
9023 富蕴县
9024 福海县
9025 哈巴河县
9026 青河县
9027 吉木乃县
9028 石河子市
9029 三道岭地区
9031 阿拉尔市
9032 图木舒克市
8847 阿拉山口口岸